如何将用户输入(从对话框)转换为数组

How to convert User input (from dialog boxes) into arrays

我的程序真的需要帮助。我正在尝试使用数组和对话框在 java 中制作一个累积成绩计算器。出于某种原因,我的数组不会打印出用户的输入,这会影响我的计算。我怎样才能给它正确的值?

    {
        // First array - Length
        int[] arNumber = null;
        int number;
        String str;

        // Second array - Elements
        int numbers;
        int[] arNumbers = null;
        int total = 0;
        int gradeSum = 0;
        String str2;

        String message = "How many grades will you input in this class?";
        str = JOptionPane.showInputDialog(message);
        number = Integer.parseInt(str);
        arNumber = new int[number];

        for(int index = 0; index < arNumber.length; index++)
        {
            String message2 = "Insert your grade";
            str2 = JOptionPane.showInputDialog(message2);
            numbers = Integer.parseInt(str2);
            arNumbers = new int[numbers];

        }
        for (int element : arNumbers)
        {
            // Print array onto console
            System.out.println(element);

            // Add all elements 
            gradeSum += element;

            // Print grade onto console
            System.out.println(gradeSum);
        }

        total = gradeSum / arNumber.length;

        return total;

    }```

看来你不需要使用两个数组。带有 arNumbers = new int[numbers]; 的行意味着 arNumbers 正在为该循环的每次迭代重新初始化为一个新数组。尝试使用 arNumber[index] = numbers; 将用户输入的值分配给 arNumber 数组并取消 arNumbers。然后在第二个循环中循环arNumber

另请注意,total 声明为 int,这将截断您的浮点值,我猜您不希望这样。祝你好运!