我创建了一个程序,我要求用户输入0-8中的数字,如果不是数字,则会出现一条消息,要求输入一个数字。如果输入一个字母,在下一行会显示“请输入一个数字”。
我该怎么做?如果它超过8则保持为8,而如果它小于0则保持为0.
if (number >= 8) {
number = 8;
} else if (number <= 0) {
number = 0;
}
更新:
System.out.println("Enter The Number you want:<0 - 8> ");
number = in.nextInt(); \\ in is the name of scanner
try {
if number = in.nextInt();
if(number >= 8) {
number = 8;
} else if (number <= 0) {
number = 0;
}
} catch (NumberFormatException e) {
System.out.println("Enter a number");
}
这不起作用,我做错了什么?
答案 0 :(得分:2)
您可以使用Scanner
类从System.in
读取并检查字符串是否为数字:
import java.util.Scanner;
import java.util.InputMismatchException;
Scanner sc = new Scanner(System.in);
try {
int i = sc.nextInt();
} catch (InputMismatchException exc) {
System.out.println("not a number");
}
答案 1 :(得分:0)
除了Nigel Tufnel的回答,如果您不使用Scanner(例如BufferedReader),您可以使用以下内容:
System.out.print("Please enter a number: ");
String numberString = in.readLine();
try {
int number = Integer.parseInt(numberString);
System.out.println("You chose number " + number + "!");
} catch (NumberFormatException nfe) {
System.out.println("Please enter a number");
}