为什么扫描仪会创建一个阵列?
Why does scanner work to create an array?
我编写了一个小程序,用于检查字符串是否按用户输入的字母顺序排序,一行中以空格分隔。它可以工作而且很棒,但我不明白的是为什么我可以在未设置大小时使用扫描仪创建数组。任何见解将不胜感激。
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] stringArray = scanner.nextLine().split(" ");
boolean alphabetical = true;
for (int i = 1; i < stringArray.length; i++) {
if (stringArray[i].compareTo(stringArray[i - 1]) < 0) {
alphabetical = false;
break;
}
}
System.out.print(alphabetical);
}
}
答案就在这个方法中:.split(" ");
.
来自the documentation:
分裂
public String[] split(String regex)
围绕给定正则表达式的匹配拆分此字符串。
[...]
Returns:
通过围绕给定正则表达式
的匹配拆分此字符串计算的字符串数组
我编写了一个小程序,用于检查字符串是否按用户输入的字母顺序排序,一行中以空格分隔。它可以工作而且很棒,但我不明白的是为什么我可以在未设置大小时使用扫描仪创建数组。任何见解将不胜感激。
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] stringArray = scanner.nextLine().split(" ");
boolean alphabetical = true;
for (int i = 1; i < stringArray.length; i++) {
if (stringArray[i].compareTo(stringArray[i - 1]) < 0) {
alphabetical = false;
break;
}
}
System.out.print(alphabetical);
}
}
答案就在这个方法中:.split(" ");
.
来自the documentation:
分裂
public String[] split(String regex)
围绕给定正则表达式的匹配拆分此字符串。
[...]
Returns:
通过围绕给定正则表达式