1、定义学生类Student,属性包括姓名name、年龄age、班级className。 2、定义一个TreeSet集合用来存储学生对象(要求按照姓名排序显示)
时间: 2023-08-31 12:23:20 浏览: 282
### 回答1:
好的,下面是代码实现:
```
import java.util.TreeSet;
public class Student implements Comparable<Student> {
private String name;
private int age;
private String className;
public Student(String name, int age, String className) {
this.name = name;
this.age = age;
this.className = className;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getClassName() {
return className;
}
// 按照姓名排序
@Override
public int compareTo(Student o) {
return this.name.compareTo(o.getName());
}
@Override
public String toString() {
return "姓名:" + this.name + ", 年龄:" + this.age + ", 班级:" + this.className;
}
}
public class Main {
public static void main(String[] args) {
TreeSet<Student> students = new TreeSet<>();
students.add(new Student("Tom", 18, "Class 1"));
students.add(new Student("Jerry", 19, "Class 2"));
students.add(new Student("Mary", 20, "Class 3"));
for (Student stu : students) {
System.out.println(stu.toString());
}
}
}
```
以上就是一个简单的学生类以及使用TreeSet存储学生对象并按照姓名排序的实现。
注意:以上代码中有一些Java编程的语法,如果您不了解,请自行参考学习Java编程语言。
### 回答2:
学生类Student的定义如下:
```java
public class Student implements Comparable<Student> {
private String name;
private int age;
private String className;
public Student(String name, int age, String className) {
this.name = name;
this.age = age;
this.className = className;
}
// Getters and Setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
// Comparable interface implementation
@Override
public int compareTo(Student other) {
return this.name.compareTo(other.name);
}
}
```
接下来,使用TreeSet集合来存储学生对象,并按照姓名排序显示:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
// 创建学生对象
Student student1 = new Student("张三", 18, "1班");
Student student2 = new Student("李四", 20, "2班");
Student student3 = new Student("王五", 19, "1班");
// 创建TreeSet集合
TreeSet<Student> students = new TreeSet<Student>();
// 向TreeSet中添加学生对象
students.add(student1);
students.add(student2);
students.add(student3);
// 遍历TreeSet,按照姓名排序显示学生对象
for (Student student : students) {
System.out.println("姓名:" + student.getName() + ",年龄:" + student.getAge() + ",班级:" + student.getClassName());
}
}
}
```
执行以上代码,输出结果如下:
```
姓名:李四,年龄:20,班级:2班
姓名:王五,年龄:19,班级:1班
姓名:张三,年龄:18,班级:1班
```
可以看到,根据姓名进行排序后,学生对象按照姓名的字典顺序显示。
### 回答3:
1、首先定义一个学生类Student,包括三个属性:姓名name、年龄age和班级className。
```java
public class Student implements Comparable<Student> {
private String name;
private int age;
private String className;
// 构造方法
public Student(String name, int age, String className) {
this.name = name;
this.age = age;
this.className = className;
}
// getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
// 覆盖compareTo方法
@Override
public int compareTo(Student student) {
return this.name.compareTo(student.getName());
}
}
```
2、定义一个TreeSet集合,用来存储学生对象,并按照姓名排序显示。
```java
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
// 创建一个TreeSet集合用于存储学生对象
TreeSet<Student> studentSet = new TreeSet<>();
// 添加学生对象到集合中
studentSet.add(new Student("张三", 18, "一班"));
studentSet.add(new Student("李四", 17, "二班"));
studentSet.add(new Student("王五", 19, "三班"));
studentSet.add(new Student("赵六", 16, "一班"));
// 遍历集合打印学生信息
for (Student student : studentSet) {
System.out.println("姓名:" + student.getName() + ",年龄:" + student.getAge() + ",班级:" + student.getClassName());
}
}
}
```
上述代码中,首先定义了一个Student类,包含姓名、年龄和班级属性,并且实现了Comparable接口,重写了compareTo方法来实现按照姓名排序的功能。然后在主函数中创建了一个TreeSet集合用于存储学生对象,并通过add方法向集合中添加了几个学生对象。最后通过遍历集合,打印了学生的信息,按照姓名排序显示。
阅读全文