第五章第八题(找出得最高分的学生)(Find the highest score)
-
5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数、每个学生的名字及其分数,最后显示得最高分的学生的名字。使用Scanner累的next()方法而不是nextLine()方法来读取名字。
5.8(Find the highest score) Write a program that prompts the user to enter the number of students and each student’s name and score, and finally displays the name of the student with the highest score. Use the next() method in the Scanner class to read a name, rather than using the nextLine() method.
-
参考代码:
package chapter05;
import java.util.Scanner;
public class Code_08 {
public static void main(String[] args) {
int numberOfStudent;
double highestScore = 0,tempScore;
String studentName = "",tempName;
Scanner inputScanner = new Scanner(System.in);
System.out.print("Enter the number of the students:");
numberOfStudent = inputScanner.nextInt();
if(numberOfStudent > 0)
{
for(int i = 1;i <= numberOfStudent;i++)
{
System.out.print("Enter the student's name: ");
tempName = inputScanner.next();
System.out.print("Enter the student's score: ");
tempScore = inputScanner.nextDouble();
if(tempScore > highestScore)
{
studentName = tempName;
highestScore = tempScore;
}
}
System.out.println("The name of the student with the highest score is " + studentName);
}
else
System.out.println("The number of the students is less than or equals to 0\n" + "Invalid input");
}
}
- 结果显示:
Enter the number of the students:3
Enter the student's name: 张三
Enter the student's score: 34
Enter the student's name: 李四
Enter the student's score: 45
Enter the student's name: 王五
Enter the student's score: 24
The name of the student with the highest score is 李四
Process finished with exit code 0