第一部分:

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;

this.chinese = chinese;

this.math = math;

this.english = english;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getChinese() {

return chinese;

}

public void setChinese(Integer chinese) {

this.chinese = chinese;

}

public Integer getMath() {

return math;

}

public void setMath(Integer math) {

this.math = math;

}

public Integer getEnglish() {

return english;

}

public void setEnglish(Integer english) {

this.english = english;

}

public int getSum(){

return this.chinese+this.math+this.english;

}

@Override

public String toString() {

return "Student{" +

"name='" + name + '\'' +

", chinese=" + chinese +

", math=" + math +

", english=" + english +

'}';

}

}

第二部分:

import java.util.Comparator;

import java.util.Scanner;

import java.util.TreeSet;

public class TreeSetDemo {

public static void main(String[] args){

TreeSet st = new TreeSet<>(new Comparator() {

@Override

public 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("学生信息录入开始");

//键盘录入学生的对应值

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 chinese = sc.nextLine();

System.out.println("请输入第"+x+"个学生的数学成绩:");

String math = sc.nextLine();

System.out.println("请输入第"+x+"个学生的英语成绩:");

String english = sc.nextLine();

//把数据封装到学生对象中

Student student = new Student();

student.setName(name);

student.setChinese(Integer.parseInt(chinese));

student.setMath(Integer.parseInt(math));

student.setEnglish(Integer.parseInt(english));

//把学生对象添加到集合

st.add(student);

}

System.out.println("学生信息录入完毕");

System.out.println("学生信息从高到低排序如下:");

System.out.println("姓名\t语文成绩\t数学成绩\t英语成绩" );

//遍历集合

for (Student s: st){

System.out.println(s.getName() + "\t\t" + s.getChinese() + "\t\t" + s.getMath() + "\t\t" + s.getEnglish());

}

}

}

输出结果:

学生信息录入开始

请输入第1个学生的姓名:

唐僧

请输入第1个学生的语文成绩:

100

请输入第1个学生的数学成绩:

90

请输入第1个学生的英语成绩:

80

请输入第2个学生的姓名:

孙悟空

请输入第2个学生的语文成绩:

99

请输入第2个学生的数学成绩:

98

请输入第2个学生的英语成绩:

97

请输入第3个学生的姓名:

猪八戒

请输入第3个学生的语文成绩:

88

请输入第3个学生的数学成绩:

66

请输入第3个学生的英语成绩:

55

请输入第4个学生的姓名:

沙僧

请输入第4个学生的语文成绩:

60

请输入第4个学生的数学成绩:

50

请输入第4个学生的英语成绩:

40

请输入第5个学生的姓名:

龙马

请输入第5个学生的语文成绩:

85

请输入第5个学生的数学成绩:

80

请输入第5个学生的英语成绩:

70

学生信息录入完毕

学生信息从高到低排序如下:

姓名语文成绩数学成绩英语成绩

孙悟空99        98            97

唐僧   100       90             80

龙马    85        80             70

猪八戒88        66            55

沙僧   60         50             40

Process finished with exit code 0

java键盘循环输入5个学生的成绩_键盘录入5个学生的信息根据总分从高到低输出在控制台...相关推荐

  1. 键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台

    package cn.itcast_06;import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet ...

  2. 【C语言结构体题】定义用于存储学生信息的结构体数组,输入学生的准考证号、姓名和成绩信息,计算总分,并按总分由高到低输出。

    在此基础上,增加下列功能函数 1.学生信息查询功能,根据学生的准考证号查询学生成绩信息 2.学生信息插入功能,在结构体数组的指定位置插入学生信息 3.学生信息删除功能,根据准考证号来删除满足条件的学生 ...

  3. c语言5个人3课成绩,一道c语言排序题【问题描述】某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高...

    一道c语言排序题 [问题描述] 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分 ...

  4. java习题4.1-将学生的学习成绩按不同的分数段分为优、良、中、及格和不及格五个登记,从键盘上输入一个0~100的成绩,输出相应的等级。要求用switch语句实现

    将学生的学习成绩按不同的分数段分为优.良.中.及格和不及格五个登记,从键盘上输入一个0~100的成绩,输出相应的等级.要求用switch语句实现 import java.util.Scanner;pu ...

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

    1.先写一个Student类 public class Student {private String name;private int chinese;private int math;privat ...

  6. 键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩)。要求按照成绩总分从高到低写入文本文件

    如题: * 需求:键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩).要求按照成绩总分从高到低写入文本文件 * 格式:姓名,语文成绩,数学成绩,英语成绩 举例:林青霞,98,98,100 * ...

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

    分析: 创建一个学生类: 姓名,语文成绩(chineseScore),数学成绩(mathScore),英语成绩(englishScore)因为要排序,所以需要选择TreeSet进行存储学生对象键盘录入 ...

  8. c语言输入的成绩由高到低该怎么,c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出...

    <c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出>由会员分享,可在线阅读,更多相关<c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出(2页珍藏版)> ...

  9. #python用户在键盘上输入一个自然数n,然后在区间[1, 5n]上随机生成n个不重复的自然数,输出这些自然数,然后继续编写代码对这些自然数进行处理,只保留所有偶数,并输出这些偶数

    # 用户在键盘上输入一个自然数n,然后在区间[1, 5n]上随机生成n个不重复的自然数,输出这些自然数, # 然后继续编写代码对这些自然数进行处理,只保留所有偶数,并输出这些偶数import rand ...

最新文章

  1. Linux内核官方文档atomic_ops.txt【摘自Linux 内核文档】
  2. 微信公众号接入图灵机器人实现自动回复消息
  3. python基础---模块与包
  4. jenkins更改默认端口
  5. 高低温湿热试验箱使用的注意事项
  6. DataCleaner(4.5)第一章
  7. 百度爬虫页面自动繁殖程序+教程自动SEO优化
  8. 再看经典推荐算法之召回算法
  9. 编程之美-2.4 1的数目
  10. 易语言5.9免加密狗版
  11. sg90舵机工作原理_舵机跑舵原因无解,锲而不舍终除隐患好文推荐!
  12. android 定位 指南针,Android 实现指南针效果
  13. FTP软件FlashFXP下载和使用说明
  14. yaml 编码格式简述
  15. 自己设置假期的日历控件_在假期旅行时使用PC娱乐自己
  16. 交易者应该学习的东西
  17. 树存储结构的几种表示方法
  18. 期刊论文发表什么是省级刊物
  19. hihocoder买零食
  20. clickhouse 生产集群部署之坑坑洼洼

热门文章

  1. 笔记本电脑进行快速截图的方法
  2. F~ファナティック~的原型:弗兰肯斯坦因
  3. GitHub Desktop使用简介
  4. 微软的bing(www.bing.com.cn)
  5. python中异或怎么算_浅谈Python逻辑运算符 异或xor
  6. 南大周志华vs清华孙茂松深刻思辩:AI本科教育该不该单独设系?
  7. 【91xcz】如何屏蔽Windows 7中智能排列的功能
  8. p30手机更多鸿蒙,华为P30优先升级鸿蒙2.0,50倍变焦+麒麟980,完美
  9. bash: /usr/local/java/anaconda/anaconda3/bin/anaconda: /home/hadoop/anaconda3/bin/python: 解释器错误: 没有那
  10. 前端React框架基础语法