0

初心者の Java 学生はこちら..「999」のセンチネル値が追加されると停止する学生の成績平均プログラムを作成しようとしています。これが私が持っているものです:

import  

javax.swing.JOptionPane;

public class average_grades
{
public static void main (String []args)
{
    int num_grades = 0;
    int total_grade = 0;
    int average_grade = 0;
    int student_grade = 0;
    while (student_grade != 999)
        {
            student_grade = Integer.parseInt(JOptionPane.showInputDialog(null, "What is the student's grade?"));
            if (student_grade < 0)
                {
                    JOptionPane.showMessageDialog(null,"Invalid Entry");
                }
            else
                {
                    num_grades++;
                    total_grade = total_grade + student_grade;
                    average_grade = total_grade/num_grades;
                }

        }
JOptionPane.showMessageDialog(null, "Average: " + average_grade);
}
}

私が抱えている問題は、平均に 999 が追加されており、簡単な解決策が何であるかを理解できないことです。ありがとう!

4

5 に答える 5

0

Don't perform the calculations on the sentinel value. Add a condition to your else to stop that from happening.

else if (student_grade != 999)

また、このセンチネル値の定数を定義することも検討してください。クラスで:

public static final int END = 999;

以降:

while (student_grade != END)

else if (student_grade != END)
于 2013-10-03T22:36:26.003 に答える