如何动态设置数组长度[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我有一些代码可以让我输入一个10个双打的数组,我想改变它,所以我可以选择在开始时选择我想要输入的数量(最多10个)。我的代码如下:

import java.util.Scanner;

public class HowTo {

    public static void main(String[] args) {
        Scanner in=new Scanner (System.in);
        double num[]=new double[10];
        double i=0;

        for (i=0;i<num.length;i++) {
            System.out.println("enter a number");
            num[(int) i]=in.nextDouble();

        }
    }
} 
java arrays
1个回答
-1
投票

您没有使用列表,而是使用数组。使用列表(尝试ArrayList)。您没有指定初始大小,它会随着您添加内容而增长。当你完成后,它很容易转换为数组,如果这真的是你想要的。

更换:

double num[]=new double[10];

有:

List<Double> num=new ArrayList<>();

num[(int) i]=in.nextDouble();

num.add(in.nextDouble());

如果要读取项目,请使用num.get(itemNumber)

现在我建议你到此为止,没有理由回到数组 - 列表集很好 - 但如果你真的必须:

如果你想让num []成为一个Double数组,那么最后做:

Double[] array = num.toArray(new Double[num.size()]);

如果你真的希望它是一个“双”数组(注意小写),转换前一个数组如下:

double[] doubleArray = ArrayUtils.toPrimitive(array);
© www.soinside.com 2019 - 2024. All rights reserved.