next()和nextLine()区别
- 相同点是他们返回值都是String类型
- 不同的是nextLine()支持空格
例子如下:
// 如果你在字符串中间输个空格,空格即后面的字符串都丢弃了
Scanner scanner= new Scanner(System.in);
System.out.println("请输入:");
String str1=scanner.next();
System.out.println("你输入的是"+str);
// 如果你在字符串中间输个空格,空格即后面的字符串都在
System.out.println("请输入:");
String str1=scanner.nextLine();
System.out.println("你输入的是"+str1);
如果你同时运行上面的代码你会发现一个问题!
注意事项:next()或者nextXxx()这类API与nextLine()一起使用时,会出现穿透的效果
解决方案
Scanner scanner= new Scanner(System.in);
System.out.println("请输入:");
String str=scanner.next();
System.out.println("你输入的是"+str);
scanner= new Scanner(System.in);//重新搞
System.out.println("请输入:");
String str1=scanner.nextLine();
System.out.println("你输入的是"+str1);