20165234 《Java程序设计》第十周课下作业

教材p448  Example15_4
1. list中增加自己学号后三名同学,学号是最后三名的从1号开始加入
2. 提交运行结果截图
3. 刻下推送代码到码云

在数据结构和算法中,排序是很重要的操作,要让一个类可以进行排序,有两种方法:
- 有类的源代码,针对某一成员变量排序,让类实现Comparable接口,调用Collection.sort(List)
- 没有类的源代码,或者多种排序,新建一个类,实现Comparator接口 调用Collection.sort(List, Compatator)

针对下面的Student类,使用Comparator编程完成以下功能:
1. 在测试类StudentTest中新建学生列表,包括自己和学号前后各两名学生,共5名学生,给出运行结果(排序前,排序后)
2. 对这5名同学分别用学号和总成绩进行增序排序,提交两个Comparator的代码
3. 课下提交代码到码云

class Student {
    private String id;//表示学号
    private String name;//表示姓名
    private int age;//表示年龄
    private double computer_score;//表示计算机课程的成绩
    private double english_score;//表示英语课的成绩
    private double maths_score;//表示数学课的成绩
    private double total_score;// 表示总成绩
    private double ave_score; //表示平均成绩

    public Student(String id, String name){
        this.id = id;
        this.name = name;
}
    public Student(String id, String name, char sex, int age){
        this(id, name);
        this.sex = sex;
        this.age = age;
}
    public String getId(){
        return id;
}//获得当前对象的学号,
    public double getComputer_score(){
        return computer_score;
}//获得当前对象的计算机课程成绩,
    public double getMaths_score(){
        return maths_score;
}//获得当前对象的数学课程成绩,
    public double getEnglish_score(){
        return english_score;
}//获得当前对象的英语课程成绩,

    public void setId(String id){
        this.id=id;
}// 设置当前对象的id值,
    public void setComputer_score(double computer_score){
        this.computer_score=computer_score;
}//设置当前对象的Computer_score值,
    public void setEnglish_score(double english_score){
        this.english_score=english_score;
}//设置当前对象的English_score值,
    public void setMaths_score(double maths_score){
        this.maths_score=maths_score;
}//设置当前对象的Maths_score值,

    public double getTotalScore(){
        return computer_score+maths_score+english_score;
}// 计算Computer_score, Maths_score 和English_score 三门课的总成绩。
    public double getAveScore(){
        return getTotalScore()/3;
}// 计算Computer_score, Maths_score 和English_score 三门课的平均成绩。

}

class Undergraduate extends Student{
    private String classID;

    public Undergraduate(String id, String name, char sex, int age,String classID){
        super(id,name,sex,age);
        this.classID=classID;
    }
    public String getClassID(){
        return classID;
    }
    public void setClassID(String classID){
        this.classID=classID;
    }
}
参见附件,补充MyList.java的内容,提交运行结果截图(全屏)
课下推送代码到码云

public class MyList {
	public static void main(String [] args) {
		//选用合适的构造方法,用你学号前后各两名同学的学号创建四个结点

		//把上面四个节点连成一个没有头结点的单链表

		//遍历单链表,打印每个结点的

		//把你自己插入到合适的位置(学号升序)

		//遍历单链表,打印每个结点的

		//从链表中删除自己

		//遍历单链表,打印每个结点的
	}
}

public class Node<T>                             //单链表结点类,T指定结点的元素类型
{
    public T data;                               //数据域,存储数据元素
    public Node<T> next;                         //地址域,引用后继结点

    public Node(T data, Node<T> next)            //构造结点,data指定数据元素,next指定后继结点
    {
        this.data = data;                        //T对象引用赋值
        this.next = next;                        //Node<T>对象引用赋值
    }
    public Node()
    {
        this(null, null);
    }
    public String toString()                     //返回结点数据域的描述字符串
    {
        return this.data.toString();
    }
}

原文地址:https://www.cnblogs.com/IconicV/p/9000435.html

时间: 2024-08-02 20:28:07

20165234 《Java程序设计》第十周课下作业的相关文章

第十周课下作业

第十周课下作业(补做课堂测试) 一.知识点总结 1.单链表 创建单链表 链表中数据的插入list.add("**"); 链表中数据的排序Collections.sort(); 链表中数据的删除lsit.remove(""); 2.排序 树集概念 树映射 TreeMap<K,V>**适合用于数据的排序** 通过关键字进行排序TreeMap<StudentKey,Student> treemap= new TreeMap<StudentKe

20165332第十周课下作业

20165332第十周课下作业 知识点总结 创建一个空的链表 List 向链表中添加新的结点 list.add(new Student(XXXXXXXXXXXXXXX)); 删除结点 list.remove("xxxxxxx"); 链表中数据的插入 list.add("**"); 链表中数据的排序 Collections.sort(); 将list中的元素按升序排序 public static sort(List 习题二 代码: import java.util.*

20155327第十周课下作业

实践一 教材p448 Example15_4 list中增加自己学号后三名同学,学号是最后三名的从1号开始加入 提交运行结果截图 刻下推送代码到码云 实践二 数据结构和算法中,排序是很重要的操作,要让一个类可以进行排序,有两种方法: 有类的源代码,针对某一成员变量排序,让类实现Comparable接口,调用Collection.sort(List) 没有类的源代码,或者多种排序,新建一个类,实现Comparator接口 调用Collection.sort(List, Compatator) 针对

20165235 第十周课下补做

20165235 祁瑛 第十周课下补做 相关知识点的总结 LinkedList<String> mylist=new LinkedList<String>()来创建一个链表. mylist.add();来添加结点. get(int index)来获取链表中第index个位置的结点的对象. public static sort(List<E>)将链表中的元素升序排列 public static binarySearch(List<T>,T key,Compar

20165322 第十周课下补做

第十周课下补做 课程知识点总结 在数据结构和算法中,排序是很重要的操作,要让一个类可以进行排序,有两种方法: Comparable:"可比较的",(欲参与比较的对象对应的元素类需实现Comparable接口) 使用这种策略来比较时,两个对象(这里两个对象是指一个类的两个不同实例)本身必须是"可比较的",比较的标准由对象所在的类来定义,这种可比较的能力是对象本身固有的,因此不需要第三方参与就可以完成比较.要使得两个对象本身是可比较的,那么对象所在的类必须实现Compa

20165308 2017-2018-2 第十周课下补做

20165308 2017-2018-2 第十周课下补做 一.教材十五章代码分析 代码分析有的是以注释的形式写出,对整个代码的理解是写在前面的 1.p442-443 Example15_1.java Cone.java 此类不关心怎么样计算面积,计算面积由后面的类完成,只需调用即可,只关心计算体积. public class Cone<E> { double height; E bottom; //用泛型类E声明对象bottom public Cone(E b) { //参数b是泛型类型 bo

20155317 第八周课下作业(1)

20155317 第八周课下作业(1) 4.47: 冒泡排序实现: X86-64汇编: Y86-64汇编 4.48 实现冒泡排序,要求不使用跳转,且最多使用3次条件传送. X86-64汇编: y86汇编: 4.49 实现冒泡排序,要求不使用跳转,且最多使用1次条件传送. X86-64汇编: y86汇编

第十周课下补做

20165339第十周课上测试补做 一.相关知识点 创建链表:LinkedList<String> mylist=new LinkedList<String>(); 增加节点:list.add(E obj) 删除节点:list.remove(index) 遍历链表:(迭代器)链表对象用iterator()方法获得一个Iterator对象.用get(int index)方法返回列表中的第index个对象. 排序:public static sort(List<E> lis

20175305张天钰 《java程序设计》第四周课下测试总结

第四周课下测试总结 错题 某方法在父类的访问权限是public,则子类重写时级别可以是protected. A .true B .false 正确答案:B 解析:书P122:子类不允许降低方法的访问权限,但可以提高访问权限. 复杂题(易错) 下列关于final关键字的说法,正确的是 A .final类不能被继承. B .String类为final类. C .父类的final方法子类不能重写. D .final修饰的变量不允许被再次赋值. 正确答案:A B C D 下列关于Override的说法,