如何动态设置数组长度

时间:2018-05-30 22:02:36

标签: java arrays

我有一些代码可以让我输入一个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();

        }
    }
} 

1 个答案:

答案 0 :(得分:-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[] array = num.toArray(new Double[num.size()]);

如果你真的希望它是一个&#34; double&#34;数组(注意小写),转换前一个数组如下:

double[] doubleArray = ArrayUtils.toPrimitive(array);