找到最高分

时间:2015-01-18 14:05:45

标签: java

我写了一个程序,提示用户输入学生的姓名和分数。最后显示得分最高的学生。

这是我的代码,我应该怎么做。

public class Student {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        final int numberOfStudent = 10;
        int count = 0;
        int highestScore = 0;
        String highestScorer = "";
        String x= "";
        int y;
        while (count < numberOfStudent) {
            System.out.println("Enter student's name and score.");
            x = input.next();
            y = input.nextInt();
            count++;
            if (highestScore < y){
                highestScore = y;
                highestScorer = x;
            }

        }
        System.out.println(highestScore +" "+ highestScorer);
    }

}

2 个答案:

答案 0 :(得分:3)

嗯,最后,你的x包含最后一个学生,而不是得分最高的学生。

就像保留highestScore变量一样,您应该保留highestScoreUser变量。每当您更新highestScore时,您都应该更新highestScoreUser

        if (highestScore < y){
            highestScore = y;
            highestScoreUser = x;
        }

答案 1 :(得分:2)

您还可以使用Math.max (highestScore, y)来保留所需的最大值,而不是使用if