为了账号安全,请及时绑定邮箱和手机立即绑定

Java - make boolean isHigherGeneration() 方法返回

Java - make boolean isHigherGeneration() 方法返回

蛊毒传说 2024-01-28 16:01:28
我的家庭作业遇到了一点麻烦。我必须有一个 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;    }预先感谢您的帮助 :)
查看完整描述

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));

}

但这一切看起来都很愚蠢。我想也许我们对这个问题有误解。您能否逐字发布问题,以便我们确保我们正确理解它?


查看完整回答
反对 回复 2024-01-28
?
一只斗牛犬

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";

}


查看完整回答
反对 回复 2024-01-28
  • 2 回答
  • 0 关注
  • 29 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信