永发信息网

JAVA编程问题使用TreeSet类,实现按照英语成绩高低存放2个student对象。

答案:2  悬赏:50  手机版
解决时间 2021-12-28 18:12
  • 提问者网友:溺爱和你
  • 2021-12-28 01:19
使用TreeSet类,实现按照英语成绩高低存放4个student对象 。
1)定义一个学生类,
A:它的属性有:name,表示学生的姓名;english,表示学生的英文成绩
B:它的方法有:有一个构造方法,能实现对学生的姓名和英语成绩进行初始化
getXxx()方法:得到属性值的方法。其中XX表示类中的各属性名。
setXxx(dd)方法:各属性值设置方法,其中XX表示类中的各属性名。其中dd代表参数。 C:该类实现了接口Comparable,用于比较成绩的高低。
2)创建测试类。
创建4个Student对象,将其添加到TreeSet类中,然后使用iterator来迭代输出每个学生的姓名和英语成绩。
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-12-28 02:00
package com.isoftstone.baidu;
import java.util.Iterator;
import java.util.TreeSet;
public class TreeSetDemo {
    public static void main(String [] args) {
        Student student1 = new Student();
        student1.setName("张三");
        student1.setEnglish(79f);
        Student student2 = new Student();
        student2.setName("李四");
        student2.setEnglish(95f);
        Student student3 = new Student();
        student3.setName("王五");
        student3.setEnglish(85f);
        Student student4 = new Student();
        student4.setName("赵六");
        student4.setEnglish(68f);

        TreeSet set = new TreeSet();
        set.add(student1);
        set.add(student2);
        set.add(student3);
        set.add(student4);

        Iterator it = set.iterator();
        while(it.hasNext()) {
            Student temp = it.next();
            System.out.println("姓名:" + temp.getName());
            System.out.println("英语成绩:" + temp.getEnglish());
        }

    }
}
class Student implements Comparable {
    private String name; // 姓名
    private float english;// 英文成绩
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public float getEnglish() {
        return english;
    }
    public void setEnglish(float english) {
        this.english = english;
    }
    public int compareTo(Student anotherStudent) {
        int thisVal = (int) this.getEnglish();
        int anotherVal = (int) anotherStudent.getEnglish();;
        return (thisVal < anotherVal ? -1 : (thisVal == anotherVal ? 0 : 1));
    }
}测试结果:
姓名:赵六
英语成绩:68.0
姓名:张三
英语成绩:79.0
姓名:王五
英语成绩:85.0
姓名:李四
英语成绩:95.0
全部回答
  • 1楼网友:过活
  • 2021-12-28 03:37
import java.util.Iterator; import java.util.TreeSet; public class Test {     public static void main(String[] args) {         TreeSet students = new TreeSet<>();         students.add(new Student("zhang san", 90));         students.add(new Student("li si", 75));         students.add(new Student("wang wu", 95));         students.add(new Student("zhao liu", 90));         Iterator iterator = students.iterator();         while (iterator.hasNext()) {             Student student = iterator.next();             System.out.println(student.getName() + " " + student.getEnglish());         }     } } class Student implements Comparable {     private String name;     private int english;     public Student() {     }     public Student(String name, int english) {         this.name = name;         this.english = english;     }     public String getName() {         return name;     }     public void setName(String name) {         this.name = name;     }     public int getEnglish() {         return english;     }     public void setEnglish(int english) {         this.english = english;     }     public int compareTo(Student o) {         if (this.english !
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯