gpt4 book ai didi

java - 用逗号运算符做 {} while ( , ),这甚至可能吗?

转载 作者:搜寻专家 更新时间:2023-10-31 20:11:12 25 4
gpt4 key购买 nike

昨天我读到了 Java for 循环中的逗号运算符。正如我所期望的那样。我想到了这个结构,但它没有按预期工作。

';' expected
} while((userInput < 1 || userInput > 3), wrongInput = true);

';' expected
} while((userInput < 1 || userInput > 3), wrongInput = true);

我的想法是,在一次迭代后,如果 userInput 不在 1 和 3 之间,它应该将 boolean 值 wrongInput 设置为 true 所以在下一次迭代期间将显示一条错误消息。表示 userInput 无效。

private int askUserToSelectDifficulty() {
int userInput;
Boolean wrongInput = false;

do{
if(wrongInput) println("\n\t Wrong input: possible selection 1, 2 or 3");
userInput = readInt();
} while((userInput < 1 || userInput > 3), wrongInput = true);

return userInput;
}

我想这可能是因为它在相当于 for 循环的条件部分的内部,所以这是无效语法。因为你不能在条件部分使用逗号运算符?

我在 for 循环中看到逗号运算符的示例:Giving multiple conditions in for loop in Java Java - comma operator outside for loop declaration

最佳答案

最好稍微展开一下。

userInput = readInt();
while (userInput < 1 || userInput > 3) {
System.out.println("\n\tWrong input: possible selection 1, 2 or 3");
userInput = readInt();
}

这避免了对标志的需要。

关于java - 用逗号运算符做 {} while ( , ),这甚至可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27125951/

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