1.先说简单的nextLine()。nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
Scanner in=new Scanner(System.in);
String s1[]=new String[2];
//需求:输入两行的内容
for(int i=0;i<2;i++){
s1[i]=in.nextLine();
}
//foreach循环输出结果
for(String a:s1){
System.out.println(a);
}
2.说说next();next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉(阻塞),只有在输入有效字符之后,next()方
法才将其后输入的空格键、Tab键视为分隔符 而enter视为结束符。(当我们在控制台输入东西的时候,这些东西并没有马上存到
数组中,而是在等待存入的状态,当我们键入enter的时候,才算存到数组中:看下图)
Scanner in=new Scanner(System.in);
String s1[]=new String[2];
//需求:输入两个的东西(int 或者 String ....)存入数组中
for(int i=0;i<2;i++){
s1[i]=in.next();
}
for(String a:s1){
System.out.println(a);
}
如果我们键入的值多余Scanner(扫描)的值,那些值将会被堵塞,在下次的Scanner中再次被读取
nextInt(),nextDouble()............; 亦是如此。只不过需要键入对应的正确值。