gpt4 book ai didi

java - 扫描仪 nextLine() 似乎没有改变字符串

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

所以我的问题是我正在尝试制作一个非常简单的程序来刷新我糟糕的编码技能,但我遇到了一个我不明白的问题。该程序应该接受答案"is"并打印"is",只是为了检查它是否有效,但它不起作用。所以我想知道我做错了什么。

public class main {
/**
* @param args
*/
public static void main(String[] args) {
int playerTroops, computerTroops;
String teamName, computerName = "Orcs", answer;
Scanner listener = new Scanner(System.in);
System.out
.println("Welcome to the Battle Grounds, where you are responsible for winning a war \nAre you ready? \nYes or No");
answer = listener.nextLine();

if (answer == "Yes")
System.out.println("Yayy");
else
System.out.println("Why");
}
}

最佳答案

对于 Java 字符串比较,必须使用 .equals 运算符:

if(answer.equals("Yes"))

如果你想忽略大小写,

if(answer.equalsIgnoreCase("Yes"))

在 Java 中,运算符 == 检查引用是否相等。在正常情况下,相等字符串不会自动具有相同的引用(即:它们是不同的对象。这种区别在 Java 中非常重要)。

关于java - 扫描仪 nextLine() 似乎没有改变字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15102963/

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