使用hasNextInt()方法,当输入的一行数据中存在空格时,就不能正确判断是不是整数
例如:
我输入{123423as} 它会输出 123423as是整数
我输入{saas 123} 它会输出 saas 123是字符串
但是我输入{ 1243 as } 它会输出 1243 as 是整数
public class A{
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
String c1;
System.out.println("请输入你的值:");
while(sc.hasNextLine()) {//判断当前是否有输入,有输入则执行循环
if(sc.hasNextInt()) { //判断输入的是否是int型数据
c1 = sc.nextLine();
System.out.println("这是整数"+c1);
System.out.println("继续请输入你的值:");
continue;
}else {
c1 = sc.nextLine();
System.out.println("这是字符串"+c1);
System.out.println("继续请输入你的值:");
continue;
}
}
}
}
运行结果
请输入你的值:
1234s
这是字符串1234s
继续请输入你的值:
123 as
这是整数123 as
继续请输入你的值:
asd123
这是字符串asd123
继续请输入你的值:
asdq 123
这是字符串asdq 123
继续请输入你的值: