您好,这是一个非常简单的问题,但我不知道答案。 我只想知道如何在几行中初始化数组的每个元素,因为我知道如何在一行中完成它。
我将它们初始化为一行的代码是这样的:
String input = scanner.nextLine();
String[] array = input.split("\\s+");
答案 0 :(得分:1)
使用ArrayList
String s = "Too Many\nLines Here\nNo its only three";
Scanner scanner = new Scanner(s);
List<String> array = new ArrayList<>(Arrays.asList(scanner.nextLine().split("\\s+")));
//to add next line
array.addAll(Arrays.asList(scanner.nextLine().split("\\s+")));
//.. and so on
答案 1 :(得分:0)
在Java中,数组必须具有固定的大小,并且一旦声明就不能更改。关于您的问题,您可以创建一个大小大于预期的数组。因为您不知道它将循环多少次,所以可以使while循环和一个标记停止输入(“退出”或“停止”或其他特殊用户无法输入的内容...)。例如:
String[] arr = new String[1000];
Scanner scanner = new Scanner(System.in);
int counter = 0;
while (true) {
String input = scanner.nextLine();
if ("stop".equalsIgnoreCase(input)) {
break;
}
arr[counter++] = input;
}