java中有3名学生,每名学生有 3 门课的成绩(数学、外语、计算机),从键盘输入以上数据(包括学号,姓名,3门课成绩),随即输出总分最高的学生对象的信息。
时间: 2023-06-14 11:08:19 浏览: 75
JAVA 键盘录入学生成绩,排序后输出
可以使用面向对象的方式来解决这个问题。
首先,我们需要定义一个Student类,该类包含学生的学号、姓名和3门课的成绩,以及计算总分的方法。
```java
public class Student {
private String id;
private String name;
private int mathScore;
private int englishScore;
private int computerScore;
public Student(String id, String name, int mathScore, int englishScore, int computerScore) {
this.id = id;
this.name = name;
this.mathScore = mathScore;
this.englishScore = englishScore;
this.computerScore = computerScore;
}
public int getTotalScore() {
return mathScore + englishScore + computerScore;
}
// getters and setters omitted for brevity
}
```
然后,我们可以在主函数中创建3个Student对象,并从键盘输入它们的信息,同时比较它们的总分,找到总分最高的学生对象。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入第一个学生的信息
System.out.print("请输入第1个学生的学号:");
String id1 = scanner.nextLine();
System.out.print("请输入第1个学生的姓名:");
String name1 = scanner.nextLine();
System.out.print("请输入第1个学生的数学成绩:");
int mathScore1 = scanner.nextInt();
System.out.print("请输入第1个学生的外语成绩:");
int englishScore1 = scanner.nextInt();
System.out.print("请输入第1个学生的计算机成绩:");
int computerScore1 = scanner.nextInt();
scanner.nextLine(); // 读取换行符
// 输入第二个学生的信息
System.out.print("请输入第2个学生的学号:");
String id2 = scanner.nextLine();
System.out.print("请输入第2个学生的姓名:");
String name2 = scanner.nextLine();
System.out.print("请输入第2个学生的数学成绩:");
int mathScore2 = scanner.nextInt();
System.out.print("请输入第2个学生的外语成绩:");
int englishScore2 = scanner.nextInt();
System.out.print("请输入第2个学生的计算机成绩:");
int computerScore2 = scanner.nextInt();
scanner.nextLine(); // 读取换行符
// 输入第三个学生的信息
System.out.print("请输入第3个学生的学号:");
String id3 = scanner.nextLine();
System.out.print("请输入第3个学生的姓名:");
String name3 = scanner.nextLine();
System.out.print("请输入第3个学生的数学成绩:");
int mathScore3 = scanner.nextInt();
System.out.print("请输入第3个学生的外语成绩:");
int englishScore3 = scanner.nextInt();
System.out.print("请输入第3个学生的计算机成绩:");
int computerScore3 = scanner.nextInt();
scanner.nextLine(); // 读取换行符
// 创建3个学生对象
Student student1 = new Student(id1, name1, mathScore1, englishScore1, computerScore1);
Student student2 = new Student(id2, name2, mathScore2, englishScore2, computerScore2);
Student student3 = new Student(id3, name3, mathScore3, englishScore3, computerScore3);
// 比较学生的总分,找到总分最高的学生对象
Student maxStudent = student1;
if (student2.getTotalScore() > maxStudent.getTotalScore()) {
maxStudent = student2;
}
if (student3.getTotalScore() > maxStudent.getTotalScore()) {
maxStudent = student3;
}
// 输出总分最高的学生对象的信息
System.out.println("总分最高的学生信息:");
System.out.println("学号:" + maxStudent.getId());
System.out.println("姓名:" + maxStudent.getName());
System.out.println("数学成绩:" + maxStudent.getMathScore());
System.out.println("外语成绩:" + maxStudent.getEnglishScore());
System.out.println("计算机成绩:" + maxStudent.getComputerScore());
System.out.println("总分:" + maxStudent.getTotalScore());
}
}
```
这样,我们就可以通过键盘输入,找到总分最高的学生对象,并输出它的信息。
阅读全文