6-8 定义Student类,实现学生对象从小到大输出。 分数 10 作者 邱颖豫 单位 许昌学院 请根据样例程序代码,定义Student类,实现两个学生对象从小到大输出。 裁判测试程序样例: public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Student s1 = new Student(sc.next(),sc.nextInt()); //输入姓名,成绩 Student s2 = new Student(sc.next(),sc.nextInt()); //输入姓名,成绩 if(s1.compareTo(s2)<=0) { System.out.println(s1); System.out.println(s2); } else { System.out.println(s2); System.out.println(s1); } sc.close(); } } /* 请在这里填写答案 */ 输入样例1: 张三 90 李四 60 输出样例1: 李四,60 张三,90 输入样例2: 张三 60 李四 90 输出样例2: 张三,60 李四,90 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB
时间: 2024-02-14 13:04:24 浏览: 111
以下是实现题目要求的Student类的代码:
```
import java.util.*;
public class Student implements Comparable<Student> {
private String name; // 姓名
private int score; // 成绩
public Student(String name, int score) {
this.name = name;
this.score = score;
}
@Override
public int compareTo(Student s) {
return this.score - s.score; // 按成绩从小到大排序
}
@Override
public String toString() {
return this.name + "," + this.score; // 输出格式:姓名,成绩
}
}
```
在主方法中,先通过Scanner输入两个学生对象的姓名和成绩,然后使用compareTo方法进行比较,按成绩从小到大输出学生对象。具体代码如下:
```
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Student s1 = new Student(sc.next(), sc.nextInt()); // 输入姓名,成绩
Student s2 = new Student(sc.next(), sc.nextInt()); // 输入姓名,成绩
if (s1.compareTo(s2) <= 0) {
System.out.println(s1);
System.out.println(s2);
} else {
System.out.println(s2);
System.out.println(s1);
}
sc.close();
}
}
```
阅读全文