gpt4 book ai didi

java - 字符串输入到整数字段的 InputMismatchException

转载 作者:行者123 更新时间:2023-11-30 10:58:26 25 4
gpt4 key购买 nike

我在将非整数输入整数字段时遇到问题。我只是采取预防措施,这样如果其他人使用/处理我的程序,他们就不会得到此 InputMismatchException

当我在 input 变量中输入非数字字符时,出现上述错误。有没有什么方法可以像处理字符串时的 NullPointerException 那样对此进行补偿?

此代码经过编辑,仅包含导致问题的相关部分。

import java.util.Scanner;

class MyWorld {

public static void main(String[] args) {

Scanner user_input = new Scanner(System.in);

int input = 0;

System.out.println("What is your age? : ");
input = user_input.nextInt();
System.out.println("You are: " +input+ " years old");

}

}

最佳答案

您可以使用 if 语句来检查 user_input hasNextInt()。如果输入是整数,则将 input 设置为等于 user_input.nextInt()。否则,显示一条消息,说明输入无效。这应该可以防止异常。

System.out.println("What is your age? : ");
if(user_input.hasNextInt()) {
input = user_input.nextInt();
}
else {
System.out.println("That is not an integer.");
}

这里有一些关于 hasNextInt() 的更多信息,来自 Javadocs .

附带说明,Java 中的变量名称应遵循 lowerMixedCase 约定。例如,user_input 应更改为 userInput

关于java - 字符串输入到整数字段的 InputMismatchException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32259461/

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