如何验证用户在Java中输入的是整数或字母字符?
我正在使用如何验证用户在Java中输入的是整数或字母字符?,java,Java,我正在使用Scanner.nextInt()接受来自用户的整数输入。如何验证他输入的是整数,而不是字母字符?将其包装在try/catch中。见下文 另外,如果您注意到,在post中,它被包装在一个循环中,直到输入一个有效的整数。如果未输入int作为输入,它将抛出一个异常。只要捕获该异常,现在您就知道用户输入了一个不可解析的值 如果输入不是int,则nextInt()方法将抛出inputmaschException。因此您可以捕获该异常并执行条件操作。或者,签出hasNextInt(),它将返回一
Scanner.nextInt()
接受来自用户的整数输入。如何验证他输入的是整数,而不是字母字符?将其包装在try/catch中。见下文
另外,如果您注意到,在post中,它被包装在一个循环中,直到输入一个有效的整数。如果未输入int作为输入,它将抛出一个异常。只要捕获该异常,现在您就知道用户输入了一个不可解析的值 如果输入不是int,则
nextInt()
方法将抛出inputmaschException
。因此您可以捕获该异常并执行条件操作。或者,签出hasNextInt()
,它将返回一个布尔值,指示下一个值是否为int
if (scanner.hasNextInt()) {
int i = scanner.nextInt();
} else {
System.out.println("Not an int");
}
我想如果不是int,那么如果出现异常,可以使用try-catch块
try {
int aInt = new Scanner(System.in).nextInt();
} catch (InputMismatchException e) {
//handler-code
}
如果用户输入一个字母表,并且您希望得到一个int,那么您可以使用该用户发送的消息测试int,如果该消息为false
Scanner input = new Scanner(System.in);
int i;
System.out.print("Insert an integer number: ");
while(true)
{
try
{
i = input.nextInt();
break;
}
catch(InputMismatchException e)
{
System.out.print("You have to insert an integer number, try again: ");
}
}
Scanner input = new Scanner(System.in);
int i;
System.out.print("Insert an integer number: ");
while(true)
{
try
{
i = input.nextInt();
break;
}
catch(InputMismatchException e)
{
System.out.print("You have to insert an integer number, try again: ");
}
}