对于Java中Scanner中的next和nextLine俩个方法的解释
next是以空格结束
而nextline是以回车结束
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入年龄");
int age=in.nextInt();
System.out.println("请输入姓名");
String name=in.nextLine();
System.out.println(age+","+name);
}
}
结果:
请输入年龄
21
请输入姓名
21,
其中之所以出现这样的结果,因为那个nextInt方法只读取数字,而那个回车还在缓存区里,使得nextline读取了回车键就结束了,没有办法读入姓名了。
下次分享解决这个问题的方法,这是我第一次写博客,望大家多多支持,写的不太好!毕竟我也才大一,望各位大佬多多支持!
2021/12/23更新:
实在抱歉,这么长时间才来来填我自己的那个问题:
那个程序中输完了那个年龄,那个姓名就输入不进去了,因为那个输入21人会按回车,而nextline是以回车符结束
所以,解决这个问题很简单,就是在nextInt后再加一个nextline,来接受回车符,而原来那个nextline就接受字符了,这就是解决之道!
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入年龄");
int age=in.nextInt();
in.nextline;//接受输入年龄后产生的回车符
System.out.println("请输入姓名");
String name=in.nextLine();
System.out.println(age+","+name);
}
}
版权声明:本文为weixin_50076754原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。