给下面代码每一行给上注释: Scanner sc=new Scanner(System.in); int n=0; String num; String name; float score; for(int i=0;i<5;i++) { Student s = new Student(sc.next(), sc.next(), sc.nextFloat()); ar.add(s); } ar.sort(new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { return (int)(o2.score-o1.score); //升序只需要return (int)(o1.score-o2.score); } }); for(Student elem:ar) System.out.println(elem.toString()); sc.close(); } }
时间: 2024-02-14 16:05:32 浏览: 18
```java
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = 0;
String num;
String name;
float score;
ArrayList<Student> ar = new ArrayList<Student>();
for (int i = 0; i < 5; i++) {
Student s = new Student(sc.next(), sc.next(), sc.nextFloat());
ar.add(s);
}
ar.sort(new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
return (int) (o2.score - o1.score);
// 升序只需要return (int)(o1.score-o2.score);
}
});
for (Student elem : ar)
System.out.println(elem.toString());
sc.close();
}
}
```
注释如下:
```java
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建 Scanner 对象 sc
Scanner sc = new Scanner(System.in);
// 声明变量 n 并初始化为 0
int n = 0;
// 声明字符串变量 num 和 name
String num;
String name;
// 声明浮点数变量 score
float score;
// 创建一个 ArrayList 对象 ar
ArrayList<Student> ar = new ArrayList<Student>();
// 循环读取输入的学生信息,创建 Student 对象并添加到 ar 中
for (int i = 0; i < 5; i++) {
Student s = new Student(sc.next(), sc.next(), sc.nextFloat());
ar.add(s);
}
// 使用 Comparator 接口实现按照学生成绩进行排序
ar.sort(new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
return (int) (o2.score - o1.score);
// 升序只需要return (int)(o1.score-o2.score);
}
});
// 循环输出 ar 中的所有学生信息
for (Student elem : ar)
System.out.println(elem.toString());
// 关闭 Scanner 对象 sc
sc.close();
}
}
```