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



我刚刚写了这个基本程序。它从用户那里获取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个数字的限制,允许用户添加任意数量的数字。我该怎么做?

感谢您的帮助。:)

感谢

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

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

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

    int[] numbers = new int[numberOfNumbers];
    

如果用户不需要提前知道数字的数量(例如,如果他们可以在最后一个数字后面键入"stop"),那么您应该考虑使用List

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

某些伪代码可能是:

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

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

最新更新