java键盘循环输入5个学生的成绩_键盘录入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;
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个学生的信息根据总分从高到低输出在控制台...相关推荐
- 键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台
package cn.itcast_06;import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet ...
- 【C语言结构体题】定义用于存储学生信息的结构体数组,输入学生的准考证号、姓名和成绩信息,计算总分,并按总分由高到低输出。
在此基础上,增加下列功能函数 1.学生信息查询功能,根据学生的准考证号查询学生成绩信息 2.学生信息插入功能,在结构体数组的指定位置插入学生信息 3.学生信息删除功能,根据准考证号来删除满足条件的学生 ...
- c语言5个人3课成绩,一道c语言排序题【问题描述】某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高...
一道c语言排序题 [问题描述] 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分 ...
- java习题4.1-将学生的学习成绩按不同的分数段分为优、良、中、及格和不及格五个登记,从键盘上输入一个0~100的成绩,输出相应的等级。要求用switch语句实现
将学生的学习成绩按不同的分数段分为优.良.中.及格和不及格五个登记,从键盘上输入一个0~100的成绩,输出相应的等级.要求用switch语句实现 import java.util.Scanner;pu ...
- IO流(1)-键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件...
1.先写一个Student类 public class Student {private String name;private int chinese;private int math;privat ...
- 键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩)。要求按照成绩总分从高到低写入文本文件
如题: * 需求:键盘录入五个学生信息(姓名,语文成绩,数学成绩,英语成绩).要求按照成绩总分从高到低写入文本文件 * 格式:姓名,语文成绩,数学成绩,英语成绩 举例:林青霞,98,98,100 * ...
- 键盘录入3个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件
分析: 创建一个学生类: 姓名,语文成绩(chineseScore),数学成绩(mathScore),英语成绩(englishScore)因为要排序,所以需要选择TreeSet进行存储学生对象键盘录入 ...
- c语言输入的成绩由高到低该怎么,c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出...
<c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出>由会员分享,可在线阅读,更多相关<c语言编程:输入学生信息(姓名年龄分数)并按照分数由高到低输出(2页珍藏版)> ...
- #python用户在键盘上输入一个自然数n,然后在区间[1, 5n]上随机生成n个不重复的自然数,输出这些自然数,然后继续编写代码对这些自然数进行处理,只保留所有偶数,并输出这些偶数
# 用户在键盘上输入一个自然数n,然后在区间[1, 5n]上随机生成n个不重复的自然数,输出这些自然数, # 然后继续编写代码对这些自然数进行处理,只保留所有偶数,并输出这些偶数import rand ...
最新文章
- Linux内核官方文档atomic_ops.txt【摘自Linux 内核文档】
- 微信公众号接入图灵机器人实现自动回复消息
- python基础---模块与包
- jenkins更改默认端口
- 高低温湿热试验箱使用的注意事项
- DataCleaner(4.5)第一章
- 百度爬虫页面自动繁殖程序+教程自动SEO优化
- 再看经典推荐算法之召回算法
- 编程之美-2.4 1的数目
- 易语言5.9免加密狗版
- sg90舵机工作原理_舵机跑舵原因无解,锲而不舍终除隐患好文推荐!
- android 定位 指南针,Android 实现指南针效果
- FTP软件FlashFXP下载和使用说明
- yaml 编码格式简述
- 自己设置假期的日历控件_在假期旅行时使用PC娱乐自己
- 交易者应该学习的东西
- 树存储结构的几种表示方法
- 期刊论文发表什么是省级刊物
- hihocoder买零食
- clickhouse 生产集群部署之坑坑洼洼
热门文章
- 笔记本电脑进行快速截图的方法
- F~ファナティック~的原型:弗兰肯斯坦因
- GitHub Desktop使用简介
- 微软的bing(www.bing.com.cn)
- python中异或怎么算_浅谈Python逻辑运算符 异或xor
- 南大周志华vs清华孙茂松深刻思辩:AI本科教育该不该单独设系?
- 【91xcz】如何屏蔽Windows 7中智能排列的功能
- p30手机更多鸿蒙,华为P30优先升级鸿蒙2.0,50倍变焦+麒麟980,完美
- bash: /usr/local/java/anaconda/anaconda3/bin/anaconda: /home/hadoop/anaconda3/bin/python: 解释器错误: 没有那
- 前端React框架基础语法