gpt4 book ai didi

java - 如果 Java 中的比较未命中

转载 作者:行者123 更新时间:2023-12-01 14:27:01 25 4
gpt4 key购买 nike

我有一部分代码可以做到这一点:1)从键盘获取颜色名称2)将该颜色赋予一个对象,其中我有另一个对象声明3) 将2数组对应的行从2减1。

在主类中,我想记住变量 TemporaryColor 中的颜色。

Scanner input = new Scanner(System.in);
String TemporaryColor = input.nextLine();
playerOrd[1].DecrementoSegnalino(TemporaryColor);

playerOrd 是包含此方法的类:

public void DecrementoSegnalino(String color) {
SegnalinoScommessaGiocatore.decrementaSegnaliniScommessa(color);
}

SegnalinoScommessaGiocatore 有这个数组:

private int[] numeroSegnaliniScommessa = {2,2,2,2,2,2};

这个方法:

public void decrementaSegnaliniScommessa(String color) {
if (color.equalsIgnoreCase("Black") numeroSegnaliniScommessa[0]--;
if (color.equalsIgnoreCase("Blue") numeroSegnaliniScommessa[1]--;
if (color.equalsIgnoreCase("Green") numeroSegnaliniScommessa[2]--;
if (color.qualsIgnoreCase("Red") numeroSegnaliniScommessa[3]--;
if (color.equalsIgnoreCase("Yellow") numeroSegnaliniScommessa[4]--;
if (color.equalsIgnoreCase("White") ) numeroSegnaliniScommessa[5]--;
}

传递我用键盘编写的字符串时出现问题...如果我一开始就使用它:

playerOrd[1].DecrementoSegnalino("Black");

它有效!

有什么问题吗?

最佳答案

不要使用 == 比较字符串。请改用 equals(...)equalsIgnoreCase(...) 方法。了解 == 检查两个对象是否相同,这不是您感兴趣的。另一方面,这些方法检查两个字符串是否具有相同顺序的相同字符,并且这才是重要的。所以而不是

if (fu == "bar") {
// do something
}

做,

if ("bar".equals(fu)) {
// do something
}

或者,

if ("bar".equalsIgnoreCase(fu)) {
// do something
}

关于java - 如果 Java 中的比较未命中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17128649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com