gpt4 book ai didi

java - 输入数组而不知道其大小

转载 作者:行者123 更新时间:2023-12-01 18:18:10 25 4
gpt4 key购买 nike

有没有一种方法可以在 Java 中创建数组,而无需先定义或询问其长度?

又名用户输入一些数字作为参数,程序创建一个包含这么多参数的数组。

最佳答案

Is there a way to make an array in java, without defining or asking for it's length first ? A.k.a the user enters some numbers as arguments, and the program creates an array with that many arguments.

目前还不清楚您到底处于什么情况。如果您在执行时知道数组长度但在编译时不知道,那就没问题:

public class Test {
public static void main(String[] args) {
int length = Integer.parseInt(args[0]);
String[] array = new String[length];
System.out.println("Created an array of length: " + array.length);
}
}

您可以将其运行为:

java Test 5

它将创建一个长度为 5 的数组。

如果您在需要创建数组之前确实不知道数组的长度 - 例如,如果您要向用户询问元素,然后让他们输入完成后有一些特殊值,那么您可能需要使用某种 List,例如 ArrayList

例如:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test {
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);

System.out.println("Enter numbers, with 0 to end");
List<Integer> list = new ArrayList<>();
while (true) {
int input = scanner.nextInt();
if (input == 0) {
break;
}
list.add(input);
}
System.out.println("You entered: " + list);
}
}

如果确实需要,您可以然后将该List转换为数组,但理想情况下您可以继续将其用作List .

关于java - 输入数组而不知道其大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28381956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com