-2

我希望使用 Scanner 用用户的双打填充数组。但是,由于 Java 无法更改数组大小,我遇到了困难。我需要以某种方式解决这个问题。我解决这个问题的想法是首先让用户输入他将放入数组中的双精度数。

System.out.print("How many numbers would you like to put in the array?: ");
int num = in.nextInt();
while(num >= 0) {
    double[] array[] = new double[num][];
    System.out.println("Enter the " + num + " numbers now.");
}

这是我到目前为止所拥有的,但很明显它不会按预期运行。

4

2 回答 2

2

你需要:

  1. 递减数字或选项 (3)
  2. 在循环外初始化你的数组
  3. 从数组位置 0 开始保存数字

这是如何完成的:

System.out.print("How many numbers would you like to put in the array?: ");
int num = in.nextInt();
int position = 0;
double[] array = new double[num];

while(position < num) {
    System.out.println("Enter the " + num + " numbers now.");
    array[position++] = in.nextDouble();
}
于 2013-11-12T16:00:09.683 回答
0

正如您已经知道用户将提供多少个数字,请考虑使用 ArrayList

ArrayList<Double> list = new ArrayList<Double>();
for(int i = 0;i< num;i++){
    //Ask for a value
    //add that value to the list
}

使用简单的 for 循环,您可以询问每个值,并将其添加到列表中。

于 2013-11-12T16:12:30.717 回答