gpt4 book ai didi

Java - 如何在不使用 while 循环的情况下检查扫描仪输入是否为整数?

转载 作者:行者123 更新时间:2023-11-30 05:48:23 24 4
gpt4 key购买 nike

我已经为我的一项作业编写了一个程序,该程序要求将输入分配给整数变量。赋值的一部分是,如果整数输入不是 1、2、3 或 4 以外的任何值,则程序应打印一条语句,说明该输入无效,然后结束程序。

我已经弄清楚如何在用户输入大于 4 或小于 1 的输入时打印此语句,但我不知道如何在输入 double 值时获得相同的结果。

我已经设法通过使用 while 循环来检查输入是否为整数来使其工作,

while (!input.hasNextInt()){
System.out.println("Invalid choice. Good-bye.");
input.next();
}
int selection = input.nextInt();

我希望它能够将其识别为无效输入,然后立即结束程序。相反,它等待用户的另一个有效输入

根据作业的预期结果:"如果用户输入 1、2、3 或 4 以外的任何内容,程序应打印“无效选择。再见。” “

最佳答案

您没有提到输入有效数字或用户输入整数以外的任何数字时会发生什么。
因此,当用户输入非整数值或不在 1 到 4 之间的整数时,此代码将退出程序:

Scanner input = new Scanner(System.in);
int number = 0;
boolean valid = false;
System.out.println("Enter number: ");
if (input.hasNextLine()) {
if (input.hasNextInt()) {
number = input.nextInt();
if (number >= 1 && number <= 4) {
valid = true;
System.out.println("Valid choice:" + number);
}
}
input.nextLine();
if (!valid) {
System.out.println("Invalid choice. Good-bye.");
System.exit(0);
}
}

关于Java - 如何在不使用 while 循环的情况下检查扫描仪输入是否为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54429323/

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