gpt4 book ai didi

java - do-while 循环没有按预期工作

转载 作者:行者123 更新时间:2023-12-03 00:13:38 25 4
gpt4 key购买 nike

好吧,基本上我很难找出为什么这不能像我认为的那样工作,并且需要帮助才能获得正确的输出。我尝试了几种方法来搞乱这种格式,但没有任何效果,我真的不明白为什么。以下是说明,后面是我的来源:

说明

编写一个循环,从标准输入读取字符串,其中字符串是“land”、“air”或“water”。当读入“xx​​xxx”(五个 x 个字符)时,循环终止。其他字符串将被忽略。循环结束后,您的代码应打印出 3 行:第一行由字符串“land:”组成,后跟读入的“land”字符串的数量,第二行由字符串“air:”组成,后跟“读入的“air”字符串,第三个由字符串“water:”组成,后跟读入的“water”字符串的数量。每个字符串都应打印在单独的行上。

假设变量 stdin 的可用性,该变量引用与标准输入关联的 Scanner 对象。

来源:

int land = 0;
int air = 0;
int water = 0;

do
{
String stdInput = stdin.next();
if (stdInput.equalsIgnoreCase("land"))
{
land++;
}else if (stdInput.equalsIgnoreCase("air"))
{
air++;
}else if (stdInput.equalsIgnoreCase("water"))
{
water++;
}
}while (stdin.equalsIgnoreCase("xxxxx") == false); // I think the issue is here, I just dont't know why it doesn't work this way
System.out.println("land: " + land);
System.out.println("air: " + air);
System.out.println("water: " + water);

最佳答案

您将用户信息存储在 stdInput 中,但您的 while 检查 stdin。试试这个方法

String stdInput = null;

do {
stdInput = stdin.next();

//your ifs....

} while (!stdInput.equalsIgnoreCase("xxxxx"));

关于java - do-while 循环没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15015995/

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