import java.util.Scanner;
public class Jnm3 {
public static void main(String[] args) {
boolean flag = false;
while (!flag) {
System.out.print("请输入一个数字:");
Scanner sc = new Scanner(System.in);
if (sc.hasNextInt()) {
flag = true;
System.out.println("你输入的是数字:" + sc.nextInt());
sc.close();
} else{
flag = false;
System.out.println("你输入的不是数字");
}
}
}
}
---------------------------------------------------------------------
我上一个代码犯傻了,比较丑陋,不停构造出扫描器
改进了一下,如果hasNextInt 是假的话,应该直接跳过就行了import java.util.Scanner;
public class Jnm3 {
public static void main(String[] args) {
System.out.print("请输入一个数字:");
Scanner sc = new Scanner(System.in);
while (!sc.hasNextInt()) {
System.out.println("你输入的不是数字");
sc.next();
}
System.out.println("你输入的是数字:" + sc.nextInt());
sc.close();
}
}