先按成绩由高到低,相等则按年龄由低到高

class Studentx implements Comparable<Studentx> {
    private String name;
    private int age;
    private float score;

    public Studentx(String name, int age, float score) {
        this.name = name;
        this.age = age;
        this.score = score;
    }

    public String toString() {
        return "Studentx [name=" + name + ", age=" + age + ", score=" + score
                + "]";
    }

    public int compareTo(Studentx o) {
        if (this.score > o.score) {
            return -1;
        } else if (this.score < o.score) {
            return 1;
        } else {
            if (this.age > o.age) {
                return 1;
            } else {
                return 0;
            }
        }
    }

}

public class ComparableDemo01 {
    public static void main(String[] args) {
        Studentx studentx[] = { new Studentx("von", 20, 90.0f),
                new Studentx("korea", 24, 92.0f),
                new Studentx("susan", 18, 90.0f),
                new Studentx("lily", 30, 92.0f),
                new Studentx("boy", 28, 84.2f), new Studentx("cais", 23, 97.3f) };
        java.util.Arrays.sort(studentx);
        for (int i = 0; i < studentx.length; i++) {
            System.out.println(studentx[i]);
        }
    }
}

先按成绩由高到低,相等则按年龄由低到高

时间: 2024-10-12 18:15:59

先按成绩由高到低,相等则按年龄由低到高的相关文章

Java基础知识强化之集合框架笔记49:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台

1. 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台: 分析: A: 定义学生类    B: 创建一个TreeSet集合       C: 总分从高到底如何实现呢?        D: 键盘录入5个学生信息       E: 遍历TreeSet集合 2. 代码示例: (1)Student.java: 1 package cn.itcast_08; 2 3 public class Student { 4 // 姓名 5 private String na

按各科平均成绩和及格率的百分数,按及格率高到低的顺序排序

sql查询  按各科平均成绩和及格率的百分数,按及格率高到低的顺序排序,显示(课程号.平均分.及格率) SELECT SC.COURSE_NO,ROUND(AVG(CORE),2),(SUM(CASE WHEN CORE BETWEEN 60 AND 100 THEN 1 ELSE 0 END)/COUNT(*))*100||'%' 及格率 FROM HAND_STUDENT_CORE SC GROUP BY SC.COURSE_NO

键盘录入多名学生的信息: 格式:姓名,数学成绩,语文成绩,英文成绩,按总分由高到低 将学生的信息进行排列到文件中

主函数类: package cn.io; import java.io.File; import java.io.IOException; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Set; public class iosort { /** * @param args * @throws IOException */ /* *

写程序完成输入学生学号,姓名,以及成绩信息,并由高到低排序

要求:写程序完成输入学生学号,姓名,以及成绩信息,根据学生成绩由高到低排序. #include <stdio.h>#include <string.h>typedef struct student_score{ int id; char name[20]; int score; }STU;  //定义结构体 int main(int argc, const char *argv[]){ int i,j; int num; STU tmp,stu[100]; printf("

键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件

1.先写一个Student类 public class Student { private String name; private int chinese; private int math; private int english; public Student() { super(); } public Student(String name, int chinese, int math, int english) { this.name = name; this.chinese = ch

java编程一个可以 进行多个选择题测验成绩(从高到低依次输出学生下标和成绩(可以重复))

成绩可重复,从高到低输出,不会重复输出 public class GradeExam { public static void main(String[] args) { char[][] answers = { {'A','B','A','C','C','D','E','E','A','D'}, {'D','B','A','B','C','A','E','E','A','D'}, {'E','D','D','A','C','B','E','E','A','D'}, {'C','B','A','

键盘录入5个学生的信息根据总分从高到低输出在控制台

第一部分: public class Student { private String name; private Integer chinese; private Integer math; private Integer english; public Student(){ super(); } public Student(String name,Integer chinese,Integer math,Integer english){ super(); this.name = name

浅谈高内聚低耦合

关键词:高内聚低耦合,网络消息,消息中间件 我所理解的高内聚是模块内部是独立完成某个单一的功能,尽可能的少而简单,也就是常说的单一责任原则.低耦合是各个模块之间相互独立存在,这样利于修改和组合.短期来看,并没有很明显的好处,甚至短期内会影响系统的开发进度,因为对开发设计人员提出了更高的要求,但长期来看,带来的好处是使程序更容易维护和修改. 在<由if-else,switch代替方案引起的思考>这篇文章里,有读者没太明白这种写法的好处(高内聚,低耦合), 当时没有展开来讲解.如果业务逻辑不复杂,

关于高内聚低耦合 笔记

概念 编辑 耦合性:也称块间联系.指软件系统结构中各模块间相互联系紧密程度的一种度量.模块之间联系越紧密,其耦合性就越强,模块的独立性则越差.模块间耦合高低取决于模块间接口的复杂性.调用的方式及传递的信息 内聚性:又称块内联系.指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量.若一个模块内各元素(语名之间.程序段之间)联系的越紧密,则它的内聚性就越高. 所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则. 耦合:一个软件结构内不同模