首先用Scanner(System.in)来输入输出
sc.nextInt(); 如果前面是空格得话 就一直找 直到找到数字 然后停止在空格或者回车,但是不包含回车键或者空格
所以你底下直接来个sc.nextLine(); 其实打印了一个回车键或者空格加回车键,是包含回车键的
import java.lang.reflect.Array;
import java.util.*;
public class Hfm {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(n);
String st1 = sc.nextLine();
System.out.println(st1+"!");
String st2 = sc.nextLine();
int[] aa = new int[n];
String[] strings = st2.split(" ");
for (int i = 0; i < n; i++) {
aa[i] = Integer.parseInt(strings[i]);
}
System.out.println(Arrays.toString(aa));
}
}
结果:
4 2 2 2 2
4
2 2 2 2!
1 2 1 2
[1, 2, 1, 2]
分析:
String st1 = sc.nextLine();是把第一行键入的剩余部分都取出来,包括空格回车,然后再键入接受接下来的一行,对此行进行操作。
还有一个next()操作:他是前面空格不看,直至找到第一个有效字符,然后结束呢在空格和回车处结束,不包括回车和空格。