*5.9(找出分数最高的前两个学生)编写程序,提示用户输入学生的个数、每个学生的名字及其分数,最后显示获得最高分的学生和第二高分的学生。使用Scanner类的next()方法而不是nextLine()方法来读取名字。 *5.9 (Find the two highest scores) Write a program that prompts the user to enter the number of students and each student’s name and score, and finally displays the names of the students with the highest and second-highest scores.Use the next() method in the Scanner class to read a name, rather than using the nextLine() method.
参考代码:
package chapter05;import java.util.Scanner;publicclassCode_09{publicstaticvoidmain(String[] args){int numberOfStudent;double firstHighestScore =0, secondHighestScore =0, tempScore;
String firstStudentName ="", secondStudentName ="", tempName;
Scanner inputScanner =newScanner(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 > firstHighestScore){
secondStudentName = firstStudentName;
secondHighestScore = firstHighestScore;
firstStudentName = tempName;
firstHighestScore = tempScore;continue;}if(tempScore > secondHighestScore){
secondStudentName = tempName;
secondHighestScore = tempScore;}}
System.out.println("The name of the student with the highest score is "+ firstStudentName);
System.out.println("The name of the student with the second-highest score is "+ secondStudentName);}else
System.out.println("The number of the students is less than or equals to 0\n"+"Invalid input");
inputScanner.close();}}
结果显示:
Enter the number of the students:4
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:67
Enter the student's name: 蒋六
Enter the student's score:12
The name of the student with the highest score is 王五
The name of the student with the second-highest score is 李四
Process finished with exit code 0