3 回答
TA贡献1909条经验 获得超7个赞
如果不允许使用Listthen 循环遍历数组中包含值的每个元素,并i使用所有这些元素创建一个新数组(大小为)。
Scanner scanner = new Scanner(System.in);
String[] arrayList = new String[25];
String input;
int i = 0;
for (input = scanner.nextLine(); (!input.isEmpty() && i < 25); input = scanner.nextLine()) {
arrayList[i] = input;
i++;
}
String[] newArrayList = new String[i];
int index = 0;
for (String element : arrayList) {
if (element == null)
continue;
newArrayList[index] = element;
index++;
}
TA贡献1765条经验 获得超5个赞
如果您不能使用 a List,则可以使用Arrays.copyOf()和i将与用户输入的元素一样多的元素复制到新的Array. 此外,您实际上并没有检查以确保i小于 25。确保您检查循环:
for (input = scanner.nextLine(); !input.isEmpty() && i < 25; input = scanner.nextLine()) {
arrayList[i] = input;
i++;
}
String[] temp = Arrays.copyOf(arrayList, i);
System.out.println(Arrays.toString(temp));
TA贡献1812条经验 获得超5个赞
您可以使用 anArrayList为您的代码提供动态大小数组。
Scanner scanner = new Scanner(System.in);
ArrayList<String> arrayList = new ArrayList<>();
String input;
int i = 0;
for (input = scanner.nextLine(); !input.isEmpty(); input = scanner.nextLine()) {
arrayList.add(input);
i++;
}
System.out.println(arrayList);
并且System.out.println会给你一个这样的输出:
[Hello, World!]
添加回答
举报