JAVA中next()与nextline()的区别

来源:互联网 发布:linux on android 编辑:程序博客网 时间:2024/06/03 17:33

在正式说明之前先看一道简单的ACM题:
ACM1011

用next():

Scanner input = new Scanner(System.in);
String s = input.next();
for(i=s.length()-1;i>=0;i–){
System.out.printf(“%s”,s.charAt(i));
}
input:i am a student
output:i

用nextline():
Scanner input = new Scanner(System.in);
String s = input.nextLine();
for(i=s.length()-1;i>=0;i–){
System.out.printf(“%s”,s.charAt(i));
}
input:i am a student
output:i am a student


总结:
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。而nextLine()可以得到带空格的字符串。