【问题标题】:How to convert User input (from dialog boxes) into arrays如何将用户输入(来自对话框)转换为数组
【发布时间】:2020-05-02 05:02:43
【问题描述】:

我的程序真的需要帮助。我正在尝试使用数组和对话框在 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;

    }```

【问题讨论】:

    标签: java arrays dialog average


    【解决方案1】:

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

    还要注意total 被声明为int,这将截断你的浮点值,我猜你不想要。祝你好运!

    【讨论】:

      猜你喜欢
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      • 2014-06-19
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      • 2015-02-14
      • 2018-06-04
      相关资源
      最近更新 更多