1、next和nextInt以空格或回车换行作为结束
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的年龄");
int age = sc.nextInt();//空格或回车作为结束
System.out.println("年龄"+age);
操作结果:
请输入你的年龄
12 34
年龄12
2、nextLine以回车换行作为结束
System.out.println("请输入的爱好: ");
String like = sc.nextLine();
System.out.println("爱好: "+like);
操作结果:
请输入的爱好:
足球 羽毛球
爱好: 足球 羽毛球
3、next()和nextLine()混用需注意:
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的年龄: ");
int age = sc.nextInt();//空格或回车作为结束
System.out.println("年龄: "+age);
System.out.println("请输入的爱好: ");
String like = sc.nextLine();
System.out.println("爱好: "+like);
操作结果:
请输入你的年龄:
12
年龄: 12
请输入的爱好:
爱好:
nextLine()读取的是nextInt()的回车换行符,导致无法输入爱好的内容。
解决办法:添加sc.nextLine();
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的年龄: ");
int age = sc.nextInt();//空格或回车作为结束
System.out.println("年龄: "+age);
sc.nextLine();
System.out.println("请输入的爱好: ");
String like = sc.nextLine();
System.out.println("爱好: "+like);
请输入你的年龄:
12
年龄: 12
请输入的爱好:
篮球
爱好: 篮球