Java - make boolean isHigherGeneration() 方法返回

我的家庭作业遇到了一点麻烦。

我必须有一个 boolean isHigherGeneration() 方法来根据 2 个 CPU 对象的代数进行比较。

我能够让我的代码比较这两个对象,但我需要结果返回 YES/NO 而不是 true/false。

我尝试创建一个字符串并将其转换为布尔值,但它不起作用。有人能帮助我吗?

这是我的代码:


public boolean isHigherGeneration(CPU cpu){

        String YES = "YES";

        String NO = "NO";

        boolean t = Boolean.valueOf(YES);

        boolean n = Boolean.valueOf(NO);


        if (this.generation > cpu.generation)

            return t ;

        else

            return n;

    }

预先感谢您的帮助 :)


蛊毒传说
浏览 37回答 2
2回答

慕森王

从这个问题来看,它似乎不希望您返回 a boolean,而是返回 aString与值YES或值NO而不是 a boolean,所以您需要做的是将表达式的结果转换boolean为String带有值YES或值的 a NO。因此,在这种情况下,无需boolean在代码中进行修改。您可以比较一代,如果值为则CPU返回:YEStrueNOfalsepublic String isHigherGeneration(CPU cpu) {    if (generation > cpu.generation) {        return "YES";    } else {        return "NO";    }}编辑:从需求的声音来看,您需要一个boolean返回 的方法String,这是不可能的。 (这就像说你想买一个苹果,但最终却买了一个梨。)如果你确实需要结果String和boolean方法,你可以将它们分为三部分,如下所示:// Boolean methodpublic boolean isHigherGeneration(CPU cpu) {    return generation > cpu.generation;}// String methodpublic String toYesNo(boolean result) {    if (result) {        return "YES";    } else {        return "NO";    }}// Converterpublic String isHigherGenerationYesNo(CPU cpu) {    return toYesNo(isHigherGeneration(cpu));}但这一切看起来都很愚蠢。我想也许我们对这个问题有误解。您能否逐字发布问题,以便我们确保我们正确理解它?

一只斗牛犬

如果要返回“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";}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java