gpt4 book ai didi

java - 如何确保用户仅输入整数类型和大于 0 的整数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:26:03 27 4
gpt4 key购买 nike

我试图确保用户仅输入 int 类型,并确保输入的整数大于 0

我能够想出以下内容来确保输入是 int 类型:

Scanner scan = new Scanner(System.in);
while(!scanner.hasNextInt())
{
scanner.next();
}
int input = scan.nextInt();

但是我应该如何进行条件检查以确保整数也大于 0?

最佳答案

您当前方法的问题是您已经在 Scanner 到达 int input = scan.nextInt(); 之前准备好值,这意味着通过当您使用 nextInt 时,Scanner 中没有任何内容可供读取,它将等待用户的下一次输入...

相反,您可以使用 nextScanner 读取 String,使用 Integer.parseInt 尝试并将结果解析为 int 然后检查结果,例如...

Scanner scanner = new Scanner(System.in);
int intValue = -1;
do {
System.out.print("Please enter a integer value greater than 0: ");
String next = scanner.next();
try {
intValue = Integer.parseInt(next);
} catch (NumberFormatException exp) {
}
} while (intValue < 0);

System.out.println("You input " + intValue);

关于java - 如何确保用户仅输入整数类型和大于 0 的整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25715899/

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