gpt4 book ai didi

java - 将 .equals() 与 Scanner 对象一起使用

转载 作者:行者123 更新时间:2023-11-29 09:38:01 26 4
gpt4 key购买 nike

出于某种原因,输入小写字母“y”与输入大写字母“Y”得到的结果不同。输入“y”会执行 if 语句中的代码,但输入“Y”则不会。此外,“Y”的输入不执行中断;之后。为什么会这样,我做错了什么?

Scanner playAgain = new Scanner (System.in);


System.out.println ("Play Again (Y/N)");

if ((playAgain.next().equals("y"))||(playAgain.next().equals("Y")))
{
Game theGame1 = new Game(0);
currentPts = currentPts + theGame1.play(total);

System.out.println("Current total is:" + " " + currentPts);
}
else break;

最佳答案

在这种情况下:

if ((playAgain.next().equals("y"))||(playAgain.next().equals("Y")))

您正在调用 playAgain.next() 两次 - 所以它从用户那里获取两个不同的字符串。

我确定您只打算获取一个字符串:

String answer = playAgain.next();
if (answer.equals("y") || answer.equals("Y"))

或者,只需使用 equalsIgnoreCase,这意味着您只能读取一次:

if (playAgain.next().equalsIgnoreCase("y"))

关于java - 将 .equals() 与 Scanner 对象一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14914516/

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