如何将输入限制为仅整数(无 double 等)?简单的问题,请有经验的人来回答。如果输入不是 double 则显示错误消息,并能够再次输入
import java.util.Scanner;
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int years;
int minutes;
System.out.println("Years to Minutes Converter");
System.out.print("Insert number of years: ");
years = reader.nextInt();
minutes = years * 525600;
System.out.print("That is ");
System.out.print(minutes);
System.out.print(" in minutes.");
}
}
最佳答案
如果此扫描器输入中的下一个标记可以使用 nextInt()
解释为默认基数中的 int
值,则返回 true
方法。扫描仪不会前进超过任何输入。
示例代码:
Scanner sc = new Scanner(System.in);
System.out.print("Enter number 1: ");
while (!sc.hasNextInt())
sc.next();
int num1 = sc.nextInt();
int num2;
System.out.print("Enter number 2: ");
do {
while (!sc.hasNextInt())
sc.next();
num2 = sc.nextInt();
} while (num2 < num1);
System.out.println(num1 + " " + num2);
您不必parseInt
或担心NumberFormatException
。请注意,由于 hasNextXXX
方法不会前进到任何输入,因此如果您想跳过“垃圾”,您可能必须调用 next()
,如上所示。
关于java - 仅限整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42741365/