gpt4 book ai didi

java - 使用 while 循环验证 boolean 输入

转载 作者:行者123 更新时间:2023-12-02 01:24:15 24 4
gpt4 key购买 nike

我正在做一些 Java 作业,但我无法让这个 while 循环正常工作。

我尝试编辑代码,但总是出错。

while(true) {
System.out.println("Is student a TA? (1: YES 0: NO): ");
status = inReader.nextInt();
if (status == 1) {
status1 = true;
}
else if (status == 0) {
status1 = false;
}
else {
System.out.println("Please enter valid entry.");
}
Graduate grad = new Graduate(studentID, name, major, status1);
grad.displayStudentData();
}
}
}
}

如果用户输入 0 或 1 以外的任何内容,我希望代码循环返回。它确实会循环,但信息会输出到控制台。这不是我所希望的。

最佳答案

我假设您对 grad 变量所做的操作是您在得到无效答案时不希望显示的信息。我还假设您最终想要退出循环。

boolean doLoop = true;
Graduate grad = null;

while(doLoop) {
System.out.println("Is student a TA? (1: YES 0: NO): ");
status = inReader.nextInt();

if (status == 1) {
grad = new Graduate(studentID, name, major, true);
doLoop = false;
}
else if (status == 0) {
grad = new Graduate(studentID, name, major, false);
doLoop = false;
}
else {
System.out.println("Please enter valid entry.");
}

if (grad != null){
grad.displayStudentData();
}
}
}

检查 null 允许您仅在需要显示内容时才显示内容。

摆脱 status1 变量可以减少您需要在心里跟踪的变量数量。无论如何,该变量并不是必需的,因为有更好的方法来处理输入验证。

设置 doLoop 变量允许您在需要时退出 while

此外,您发布的代码有一些额外的右括号。确保您发布的代码是可运行的或伪代码是个好主意。

关于java - 使用 while 循环验证 boolean 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57186939/

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