Scanner在算法输入中的使用

Scanner是一个扫描器,我们录取到键盘的数据,先存到缓存区等待读取,它判断读取结束的标示是 空白符;比如空格,回车,tab 等等。

next()方法读取到空白符就结束l;
nextLine()读取到回车结束也就是“\r”;

例子:排序输入

1
2
3
4
5
6
7
8
9
10
11
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String str = sc.nextLine();
String[] chs = str.trim().split(" ");
int[] arr = new int[chs.length];
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(chs[i]);
}
insertSort(arr);
printArr(arr);
}

方法二、

1
2
3
4
5
6
7
8
9
10
11
12
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
while ((str = br.readLine()) != null) {
String[] s = str.trim().split(" ");
int[] arr = new int[s.length];
int i = 0;
for (String value : s) {
arr[i++] = Integer.parseInt(value);
}
bubbleSort(arr);
printArr(arr);
}