import java.util.Scanner;
public class Test {
public static void main(String[] args) {
String s1, s2;
Scanner sc = new Scanner(System.in);
System.out.print("请输入第一个字符串:");
s1 = sc.next();
System.out.print("请输入第二个字符串:");
s2 = sc.nextLine();
System.out.println("输入的字符串是:" + s1 +"与"+ s2 );
}
}
控制台的输入与输出:
请输入第一个字符串:aa bb
请输入第二个字符串:输入的字符串是:aa与 bb
区分next()与nextLine():
next():读取的是一段字符,从一行中开始扫描,碰到特定的标识符如:空格或换行符,但只获取其前的有效字符(有效字符不包括空格与换行符)。
nextLine():以换行符为结束标志,读取的是换行符前面的字符。
本次程序出现控制台中的原因为:
sc.next():接收不带空格的字符串,所以获取的是”aa”字符串,而把其后的换行符留给了nextLine()。
sc.nextLine():以换行符作为标志,获取的是换行符前面的字符串,此时输入的” bb”存放在缓存中,所以不等你输入第二个字符串,它就会直接获取值