gpt4 book ai didi

java - 如何实现 int 验证,使输入只能是 int 且介于 min 和 max 之间?

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

我想知道如何验证此代码,以便输入只能是 int 且介于最小值和最大值之间?到目前为止,我只能阻止输入小于 1 以及使用任何最大值。但我似乎无法创建一个场景,如果用户输入除最大值和最小值(例如“AAA”)之外的任何内容,它就会循环。我不断收到输入不匹配错误。任何帮助将不胜感激!

private static int getUserOption(String prompt, int max) { 
int h;
do {
Scanner sc = new Scanner(System.in);
System.out.print(prompt);
h=sc.nextInt();
if(!sc.hasNextInt()) {
System.out.println("Invalid option. Try again!:");
}
} while(h<1 || h>max);
return h;
}

最佳答案

循环正在中断,因为 nextInt() 方法抛出异常,从而提前终止该方法。

一种选择是使用 try/catch block 来捕获异常:

private static int getUserOption(String prompt, int max) { 
int h = 0;
do {
Scanner sc = new Scanner(System.in);
System.out.print(prompt);
try {
h=sc.nextInt();
} catch (InputMismatchException e) {
System.out.println("Invalid option. Try again!:");
}
}while(h<1 || h>max);
return h;
}

关于java - 如何实现 int 验证,使输入只能是 int 且介于 min 和 max 之间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20094969/

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