用途:通过 Scanner 类来获取用户的输入。
关于nextInt()、next()和nextLine()的理解:
nextInt():nextInt()只读取数值,剩下”\n”还没有读取
next():next()遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,只读空格和回车之前的数据
next()、nextDouble() 、 nextFloat()、nextInt() 等语句是一样的
nextLine():nextLine()读取回车前的数据,可以包含空格
代码:
public static void main(String[] args) {
String s1,s2,s3;
int a;
Scanner sc=new Scanner(System.in);
System.out.print("请输入第一个字符串:");
s1=sc.next();
s2=sc.nextLine();
System.out.print("请输入第二个字符串:");
s3=sc.nextLine();
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println("输入的字符串是:"+s1+" "+s2+" "+s3);
}
利用Scanner循环输入多组测试用例:
public static void main(String[] args){
Scanner in = new Scanner(System.in);
// 一个while就是一个测试用例,控制台可多次输入,想要停止的话,可对下面的n做出判断
while(in.hasNext()){
int n = in.nextInt(); // 该测试用例后续接收的参数个数
int [] array = new int[n];
String[] arrayStr = new String[n];
for(int i=0; i<n; i++){
arrayStr[i] = in.next();
}
for(int i=0; i<n; i++){
array[i] = in.nextInt();
}
System.out.println(Arrays.toString(array)+" "+ Arrays.toString(arrayStr));
}
}