集合框架-键盘录入学生按照总分从高到底输出
来源:互联网 发布:c语言取反加一 编辑:程序博客网 时间:2024/06/05 05:28
package cn.itcast_08;import java.util.Comparator;import java.util.Scanner;import java.util.TreeSet;/* * 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台 * * 分析: * A:定义学生类 * B:创建一个TreeSet集合,因为我将来要按照总分从高到低输出 * C:总分从高到底如何实现呢? * D:键盘录入5个学生信息 * E:遍历TreeSet集合 */public class TreeSetDemo {public static void main(String[] args) {// 创建一个TreeSet集合TreeSet<Student> ts = new TreeSet<Student>(new Comparator<Student>() {@Overridepublic int compare(Student s1, Student s2) {// 总分从高到低int num = s2.getSum() - s1.getSum();// 总分相同的不一定语文相同int num2 = num == 0 ? s1.getChinese() - s2.getChinese() : num;// 总分相同的不一定数学相同int num3 = num2 == 0 ? s1.getMath() - s2.getMath() : num2;// 总分相同的不一定英语相同int num4 = num3 == 0 ? s1.getEnglish() - s2.getEnglish() : num3;// 姓名还不一定相同呢int num5 = num4 == 0 ? s1.getName().compareTo(s2.getName()) : num4;return num5;}});System.out.println("学生信息录入开始");// 键盘录入5个学生信息for (int x = 1; x <= 5; x++) {Scanner sc = new Scanner(System.in);System.out.println("请输入第" + x + "个学生的姓名:");String name = sc.nextLine();System.out.println("请输入第" + x + "个学生的语文成绩:");String chineseString = sc.nextLine();System.out.println("请输入第" + x + "个学生的数学成绩:");String mathString = sc.nextLine();System.out.println("请输入第" + x + "个学生的英语成绩:");String englishString = sc.nextLine(); // 把数据封装到学生对象中Student s = new Student();s.setName(name);s.setChinese(Integer.parseInt(chineseString));//把字符串转成Int类型s.setMath(Integer.parseInt(mathString));s.setEnglish(Integer.parseInt(englishString));// 把学生对象添加到集合ts.add(s);}System.out.println("学生信息录入完毕");System.out.println("学习信息从高到低排序如下:");System.out.println("姓名\t语文成绩\t数学成绩\t英语成绩");// 遍历集合for (Student s : ts) {System.out.println(s.getName() + "\t" + s.getChinese() + "\t"+ s.getMath() + "\t" + s.getEnglish());}}}
package cn.itcast_08;public class Student {// 姓名private String name;// 语文成绩private int chinese;// 数学成绩private int math;// 英语成绩private int english;public Student(String name, int chinese, int math, int english) {super();this.name = name;this.chinese = chinese;this.math = math;this.english = english;}public Student() {super();}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getChinese() {return chinese;}public void setChinese(int chinese) {this.chinese = chinese;}public int getMath() {return math;}public void setMath(int math) {this.math = math;}public int getEnglish() {return english;}public void setEnglish(int english) {this.english = english;}public int getSum() {return this.chinese + this.math + this.english;}}
0 0
- 集合框架-键盘录入学生按照总分从高到底输出
- 集合框架_键盘录入学生信息按照总分排序后输出在控制台案例)
- 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台
- 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件
- 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件
- 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件
- IO流_键盘录入学生信息按照总分排序并写入文本文件案例
- 综合排序 学生信息输入并排序 键盘录入信息 (姓名,语文成绩,数学成绩,英语成绩),按总分高到低输出
- 集合框架_键盘录入多个数据在控制台输出最大值案例
- 集合框架-键盘录入多个数据,以0结束,并在控制台输出最大值
- 2.6使用二维数组存储学生的数据,包括学号、姓名、操作系统成绩、Java成绩、高数成绩、总分;一行存储一个学生的数据;要求输入若干学生的数据,求出总分;然后按照总分由高到低重新排列;输出排序后的结果
- 键盘录入多名学生的信息: 格式:姓名,数学成绩,语文成绩,英文成绩,按总分由高到低 将学生的信息进行排列到文件中
- 录入5名学生成绩 按总分排序
- 从文件读出学生信息数据,按成绩从高到底排序,并输出其中成绩次高者的所有数据。
- 从文件读出学生信息数据,按成绩从高到底排序,并输出其中成绩次高者的所有数据。
- java小练习(已知学生有学号,姓名,性别,年龄,身高,体重六项基本信息,依次从键盘录入该学生信息,完成后输出该生详细信息。)
- 学生成绩的录入与输出
- 一组成绩,一组学生,按照成绩的大小,由高到底排序出姓名和成绩(二叉树)实现
- poj2892 Tunnel Warfare(数状数组+二分)
- 图解HTTPS
- js监听浏览器关闭事件 onbeforeunload和Onunload不生效 使用onpadehide可以监听到浏览器关闭事件
- Java解析复杂嵌套JSON数据格式代码,提取出来所有的key和value。亲测代码可用
- ajax请求返回了两个重复json对象
- 集合框架-键盘录入学生按照总分从高到底输出
- JAVA的Date类和Calendar类
- AutoCompleteTextView 设置了点击事件需要点击两下解决办法
- 【LeetCode】Counting Bits 解题报告
- Windows安装多个版本JDK,如何灵活指定当前想用JDK版本?
- 如何访问github上的HTML代码对应的页面。
- JAVA8 十大新特性详解
- Zookeeper分布式队列的实现
- android Activity管理类(全局管理Activity)