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
请输入的爱好:
篮球
爱好: 篮球
本文深入解析Java中Scanner类的使用技巧,重点介绍next、nextInt与nextLine方法的区别及应用场景,探讨混合使用时的常见问题与解决方案。
5470





