Scanner scan = new Scanner(System.in);
System.out.println("请输入姓名:");
String name = scan.next();
System.out.println(name);
System.out.println("请输入你的年龄");
int age = scan.nextInt();
System.out.println(age);
输出结果为
打印出的结果只有zhang,而下一个扫描输出出现异常。
当scan.next()遇到空格时,直接结束 ,而将空格之后的san这个字符串交给下一个int age = scan.next()读入,而age是int类型,所以打印出错。
Scanner scan = new Scanner(System.in);
System.out.println("请输入姓名:");
String name = scan.nextLine();
System.out.println(name);
System.out.println("请输入你的年龄");
int age = scan.nextInt();
System.out.println(age);
scan.nextLine()是直接解析一行数据,将zhang san都读入name中
scan.hasnextInt()对应scan.nextInt()循环读入整数数据,ctrl+d中断程序(IDEA),ctrl+z(cmd)