JAVA键盘录入15个学生信息(学号,姓名,语文成绩,数学成绩,英语成绩)按照总分从高到低输出
时间: 2023-08-24 15:07:23 浏览: 226
好的,我可以帮你解决这个问题。
首先,我们需要定义一个学生类,包含学号、姓名、语文成绩、数学成绩和英语成绩等属性。同时,我们需要在学生类中定义一个方法,用于计算学生的总分。
```
public class Student {
private String id; // 学号
private String name; // 姓名
private int chinese; // 语文成绩
private int math; // 数学成绩
private int english; // 英语成绩
public Student(String id, String name, int chinese, int math, int english) {
this.id = id;
this.name = name;
this.chinese = chinese;
this.math = math;
this.english = english;
}
// 计算学生总分
public int getTotalScore() {
return chinese + math + english;
}
// 省略getter和setter方法
}
```
接下来,我们可以在主函数中创建一个学生数组,然后使用Scanner类读取用户输入的学生信息,创建学生对象并添加到数组中。最后,我们可以使用冒泡排序算法按照学生的总分排序,并输出结果。
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Student[] students = new Student[15];
Scanner scanner = new Scanner(System.in);
// 读取学生信息
for (int i = 0; i < students.length; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的信息:");
System.out.print("学号:");
String id = scanner.next();
System.out.print("姓名:");
String name = scanner.next();
System.out.print("语文成绩:");
int chinese = scanner.nextInt();
System.out.print("数学成绩:");
int math = scanner.nextInt();
System.out.print("英语成绩:");
int english = scanner.nextInt();
students[i] = new Student(id, name, chinese, math, english);
}
// 冒泡排序
for (int i = 0; i < students.length - 1; i++) {
for (int j = 0; j < students.length - 1 - i; j++) {
if (students[j].getTotalScore() < students[j + 1].getTotalScore()) {
Student temp = students[j];
students[j] = students[j + 1];
students[j + 1] = temp;
}
}
}
// 输出结果
for (int i = 0; i < students.length; i++) {
System.out.println("第" + (i + 1) + "名:" + students[i].getName() + ",总分:" + students[i].getTotalScore());
}
}
}
```
这样,我们就实现了按照学生总分从高到低输出的功能。希望能对你有所帮助!
阅读全文