姓名,性别,学生成绩以年龄从低到高排序用java编一段代码
时间: 2024-10-11 21:09:49 浏览: 25
在Java中,如果你想按照姓名、性别、学生成绩和年龄从低到高对学生信息进行排序,可以创建一个学生类(Student),包含姓名(name)、性别(gender)、成绩(score)和年龄(age)属性,并实现Comparable接口来进行自定义排序。以下是简单的示例代码:
```java
import java.util.Arrays;
import java.util.Comparator;
class Student implements Comparable<Student> {
String name;
char gender; // 'M' for Male, 'F' for Female
int score;
int age;
// 构造函数和 getters/setters 省略...
@Override
public int compareTo(Student other) {
int compareByAge = Integer.compare(this.age, other.age);
if (compareByAge != 0) return compareByAge;
// 如果年龄相同,再比较姓名
int compareByName = this.name.compareTo(other.name);
if (compareByName != 0) return compareByName;
// 年龄和姓名都相同,考虑性别和成绩
return Integer.compare(this.score, other.score); // 降序排列成绩
}
}
public class Main {
public static void main(String[] args) {
Student[] students = { ... // 学生数组,填充数据
new Student("张三", 'M', 85, 18),
new Student("李四", 'F', 90, 17),
// 更多学生...
};
Arrays.sort(students); // 自动按照compareTo()方法排序
System.out.println("按年龄、姓名、性别、成绩升序排序:");
for (Student student : students) {
System.out.println(student);
}
}
}
```
阅读全文