2 回答

TA貢獻1777條經驗 獲得超3個贊
從這個問題來看,它似乎不希望您返回 a boolean,而是返回 aString與值YES或值NO而不是 a boolean,所以您需要做的是將表達式的結果轉換boolean為String帶有值YES或值的 a NO。
因此,在這種情況下,無需boolean在代碼中進行修改。您可以比較一代,如果值為則CPU返回:YEStrueNOfalse
public String isHigherGeneration(CPU cpu) {
if (generation > cpu.generation) {
return "YES";
} else {
return "NO";
}
}
編輯:從需求的聲音來看,您需要一個boolean返回 的方法String,這是不可能的。 (這就像說你想買一個蘋果,但最終卻買了一個梨。)如果你確實需要結果String和boolean方法,你可以將它們分為三部分,如下所示:
// Boolean method
public boolean isHigherGeneration(CPU cpu) {
return generation > cpu.generation;
}
// String method
public String toYesNo(boolean result) {
if (result) {
return "YES";
} else {
return "NO";
}
}
// Converter
public String isHigherGenerationYesNo(CPU cpu) {
return toYesNo(isHigherGeneration(cpu));
}
但這一切看起來都很愚蠢。我想也許我們對這個問題有誤解。您能否逐字發布問題,以便我們確保我們正確理解它?

TA貢獻1784條經驗 獲得超2個贊
如果要返回“YES”或“NO”,該方法的返回類型必須是String:
public String isHigherGeneration(CPU cpu) {
if (this.generation > cpu.generation)
return "YES";
else
return "NO";
}
或者
public String isHigherGeneration(CPU cpu) {
return this.generation > cpu.generation ? "YES" : "NO";
}
添加回答
舉報