永发信息网

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

答案:2  悬赏:50  手机版
解决时间 2021-12-28 18:12
使用TreeSet类,实现按照英语成绩高低存放4个student对象 。
1)定义一个学生类,
A:它的属性有:name,表示学生的姓名;english,表示学生的英文成绩
B:它的方法有:有一个构造方法,能实现对学生的姓名和英语成绩进行初始化
getXxx()方法:得到属性值的方法。其中XX表示类中的各属性名。
setXxx(dd)方法:各属性值设置方法,其中XX表示类中的各属性名。其中dd代表参数。 C:该类实现了接口Comparable,用于比较成绩的高低。
2)创建测试类。
创建4个Student对象,将其添加到TreeSet类中,然后使用iterator来迭代输出每个学生的姓名和英语成绩。
最佳答案
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
全部回答
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 !
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
常宁派出所在什么地方啊,我要处理点事
北海有什么好玩的好吃的
单选题已知集合A={x|1<x<3},B={x|1<log2x
无线网怎么会连接超时
下列变化属于化学变化的是A.气密性检查B.鸡蛋
氢氧化钠的化学符号
黄梅派出所在什么地方啊,我要处理点事
串流是什么意思
梦幻西游手游秒抢神兜兜宝石锤玫瑰兽决软件工
用你的真心换我的电话号码是哪一年唱的
别克老君威发动机故障黄灯闪烁,可是打空调制
直播视频怎么样才能录制下来?
小天才第一次充电多久
钟楼派出所地址有知道的么?有点事想过去!
DNF朋友充错点券,怎么找回来?
推荐资讯
单选题多指为显性遗传,丈夫为多指,妻子正常
单选题下列叙述中,正确的是A.由共价键形成的
信用卡里的钱支出来了我在换上里面还有钱不
七日平均收益率怎么算
看运动会的英语是什么
miui9系统更新可以删掉吗
2008年9月28日纪念孔子诞辰2559年曲阜孔庙祭
刘石岗国土资源所在什么地方啊,我要处理点事
拥有多少股权就可以控股了
It’s a true story!
国庆去了趟天津塘沽,海边开车开了半天,没看
沅陵县气象局地址有知道的么?有点事想过去!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?