Java中的动态数组 - 因此我们可以根据用户的输入决定数组的大小

时间:2015-02-07 01:40:00

标签: java arrays dynamic

我刚写了这个基本程序。它从用户获取5个值并将所有值存储在一个数组中并告诉最高数字。

    import java.util.Scanner;

public class HighestNumber {

    public static void main(String[] args) {


        Scanner input = new Scanner(System.in);
        int [] numbers = new int [5];
        int max = numbers[0];
        System.out.println("Enter " + numbers.length + " numbers:");
        for (int i=0; i<numbers.length; i++) {
            numbers[i] = input.nextInt();

            if (numbers[i] > max) {
                max = numbers[i];
            }

        }

        System.out.println("The highest number is:" +max);

    }

}

我想取消5个数字的限制,并允许用户添加他想要的数量。我怎么能这样做?

感谢您的帮助。 :)

由于

2 个答案:

答案 0 :(得分:0)

如果用户提前知道了号码数量(在输入实际数字之前):

  1. 询问用户他们想要输入多少个号码:

    System.out.println("How many numbers?");
    int numberOfNumbers = input.nextInt();
    
  2. 将其用作数组大小:

    int[] numbers = new int[numberOfNumbers];
    
  3. 如果用户不需要提前知道号码的数量(例如,如果他们能够在最后一个号码后输入“停止”),那么您应该考虑使用List代替。

答案 1 :(得分:0)

或者,您可以使用ArrayList并继续添加元素,直到用户输入空行。 Here是使用ArrayList的教程。

某些伪代码可能是:

numbers = new list
while true
    line = readLine
    if line == ""
    then
        break
    else
        numbers.add(convertToInteger(line))
    ...

这种方法的好处是用户甚至不需要计算他/她想要输入的数量。