Scanner是一个扫描器。我们在使用扫描器Scanner时,遇到了字符串肯定会使用API中定义好的next()和nextLine()方法。两者一个是能读取空格一个是不能读取空格。
nextline
nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符。
next
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉
,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
下面代码演示:
package Demo;
import java.util.Scanner;
public class Dem901 {
public static void main(String[] args) {
String s1,s2;
Scanner sc=new Scanner(System.in);
System.out.print("请输入第一个字符串:");
s1=sc.nextLine();
System.out.print("请输入第二个字符串:");
s2=sc.next();
System.out.println("输入的字符串是:"+s1+" "+s2);
}
}
可以看到next输入的输入完成没有了。
注意点
在写项目的时候要注意nextline和next使用时要区分是否有反斜杠N"/n"
的存在;如果有,那么在nextline遇到"/n"
就会结束程序的运行。