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";
}
添加回答
举报