Как преобразовать пользовательский ввод (из диалоговых окон) в массивы - PullRequest
0 голосов
/ 02 мая 2020

Мне действительно нужна помощь с моей программой. Я пытаюсь сделать калькулятор совокупной оценки в 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;

    }```

1 Ответ

0 голосов
/ 02 мая 2020

Похоже, вам не нужно использовать два массива. Строка с arNumbers = new int[numbers]; означает, что arNumbers переинициализируется как новый массив для каждой итерации этого l oop. Попробуйте использовать arNumber[index] = numbers;, чтобы назначить введенное пользователем значение в массив arNumber и покончить с arNumbers. Тогда l oop over arNumber во втором l oop.

Также обратите внимание, что total объявлен как int, который усекает ваше значение с плавающей запятой, которое, как я догадываюсь, вам не хочу Удачи!

...