私はこの問題を正しく機能させようとしています。スコアを入力するように要求され、スコアが最も高い人の名前が表示されるはずです。最後に入力したスコアを最高スコアとして取得しています。最後に入力したスコアが必ずしも最高スコアになるとは限らないという問題があります。これを修正する方法についてのアイデアをいただければ幸いです。これは宿題であり、「リストまたは配列を使用する」とは誰も言っていないので、クラスでそれをカバーしていないため、この問題に使用することは想定されていません。
public static void main(String[] args)
{
// variables
Scanner input = new Scanner(System.in);
int count = 0;
int numStudents;
double grade = 0, highestGrade = 0;
String name = "", highName = "";
String numGrades =
JOptionPane.showInputDialog
("How many student grades are you entering: ");
numStudents = Integer.parseInt(numGrades);
//for(int count = 0; count < numStudents; count++)
while(count < numStudents)
{
// prompt for the user to enter grades
String inputName =
JOptionPane.showInputDialog("Enter a student name: ");
name = inputName;
//name = input.next(inputName);
String inputGrade =
JOptionPane.showInputDialog("What is that students grade: ");
grade = Double.parseDouble(inputGrade);
//grade = input.nextDouble();
count++;
//if(grade < highestGrade)
if(highestGrade > grade)
{
name = highName;
grade = highestGrade;
}
else
{
continue;
}
}
JOptionPane.showMessageDialog
(null, "The student with the highest score is " + name +
" with a grade of " + grade);
}