gpt4 book ai didi

java - 让scanner.nextInt()读取 "q"作为退出,而不是读取它作为错误的输入

转载 作者:太空宇宙 更新时间:2023-11-04 06:36:25 24 4
gpt4 key购买 nike

 int rollnumber;
do {
try {
System.out.println("how many times");
rollnumber = scanner.nextInt();

nigh=2;

if (Integer.toString(rollnumber).equals("q") ) {
System.exit(0);
}
} catch (Exception e){
System.out.println("invalid. re-enter");
scanner.nextLine()';
}
}while (nigh==1);

基本上,我正在尝试创建一个“q”(退出)选项,但当我按 q 时它只是不断跳转到 catch 语句。帮我做到这一点,以便“scanner.nextInt()”将 q 读取为实际的退出命令。

最佳答案

您正在尝试从控制台读取 int。如果您输入 qnextInt 会尝试将 q 转换为整数,失败并出现 NumberFormatException,并且代码会跳转到 catch block 。

您应该使用 nextnextLine 读取并将输入转换为 int

关于java - 让scanner.nextInt()读取 "q"作为退出,而不是读取它作为错误的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25326199/

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