我有一些代码可以让我输入一个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();
}
}
}
发布于 2018-05-31 06:05:48
您使用的不是列表,而是数组。使用列表(尝试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()]);
如果你真的希望它是一个“双精度”数组(注意小写),像这样转换前一个数组:
double[] doubleArray = ArrayUtils.toPrimitive(array);
https://stackoverflow.com/questions/50613944
复制相似问题