Java——集合(输入5个学生的信息按总分高低排序)

题目要求:
键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台

分析:
1,定义一个学生类
* 成员变量:姓名,语文成绩,数学成绩,英语成绩
* 成员方法:空参构造,有参构造;有参构造的参数分别是:姓名,语文成绩,数学成绩,英语成绩
* toString方法,遍历集合中的Student对象打印对象引用的时候会显示属性值
* 2,键盘录入需要Scanner,创建键盘录入对象
* 3,创建TreeSet集合对象,在TreeSet的构造函数中 传入比较器,按照总分比较
* 4,录入五个学生,所以,以集合中的学生个数为判断条件,如果size是小于5,就进行存储
* 5,将录入的字符串切割,用逗号切割,会返回一个字符串数组,将字符串数组中从第二个元素转换成int数组
* 6,将转换后的结果封装成Student对象,将Student添加到TreeSet集合中
* 7,遍历TreeSet集合打印每一个Student对象

package com.wsq.test;import java.util.Comparator;import java.util.Scanner;import java.util.TreeSet;import com.wsq.bean.Student;public class Test7  {//2,键盘录入需要Scanner,创建键盘录入对象Scanner wsq =  new Scanner(System.in); System.out.println("请输入学生成绩,格式是:姓名,语文成绩,数学成绩,英语成绩");//3,创建TreeSet集合对象,在TreeSet的构造函数中 传入比较器,按照总分比较TreeSet<Student > yy = new TreeSet<>(new Comparator<Student>() {@Overridepublic int compare(Student s1, Student s2) {int num = s2.getSum() - s1.getSum();return num == 0 ? 1 :num ;}});//4,录入五个学生,所以,以集合中的学生个数为判断条件,如果size是小于5,就进行存储while(yy.size() < 5){//5,将录入的字符串切割,用逗号切割,会返回一个字符串数组,将字符串数组中从第二个元素转换成int数组String line = wsq.nextLine();String [] arr = line.split(",");int chinese = Integer.parseInt(arr[1]);int math = Integer.parseInt(arr[2]);int english = Integer.parseInt(arr[3]);//6,将转换后的结果封装成Student对象,将Student添加到TreeSet集合中yy.add(new Student(arr[0],chinese,math,english));}//7,遍历TreeSet集合打印每一个Student对象System.out.println("排序后的学生信息:");for (Student s : yy) {System.out.println(s);}}}
package com.wsq.bean;
/*1,定义一个学生类成员变量:姓名,语文成绩,数学成绩,英语成绩成员方法:空参构造,有参构造;有参构造的参数分别是:姓名,语文成绩,数学成绩,英语成绩toString方法,遍历集合中的Student对象打印对象引用的时候会显示属性值
*/
public class Student {private  String name;private int chinese;private int math;private int english;private int sum;public Student() {super();}public Student(String name, int chinese, int math, int english) {super();this.name = name;this.chinese = chinese;this.math = math;this.english = english;this.sum = this.chinese + this.math + this.english;}public int getSum() {return sum;}public String toString(){return name + "," + chinese + "," + math + "," + english + "," + sum;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日期setHours()方法以及JavaScript中的示例

JavaScript Date setHours()方法 (JavaScript Date setHours() method) setHours() method is a Date class method, it is used to set the hour to the Date object with a valid hour value (between 00 to 23). setHours()方法是Date类方法&#xff0c;用于将小时设置为具有…

Google SSL zz

// Google SSL// Modified from SSL Certificates Pro//z 2011-12-29 8:59 AM is2120csdn : reader,calendar// UserScript// name Google SSL// namespace http://raychow.info/// version 2.1.2// description 强制 Google 使用安全连接。//// include htt…

阿诺德.施瓦辛格 训练方法

阿诺德.施瓦辛格 训练方法七次“奥林匹亚先生”获得者、著名影星阿诺德.施瓦辛格&#xff0c;是广大健美爱好者崇拜的偶像。即使在今天&#xff0c;他那无与伦比的二头肌和胸肌仍为人们津津乐道。本文是他通过亲身体会&#xff0c;讲述了怎样锻炼才能增长肌肉的观点和方法&…

ADC和SBB命令

ADC 带进位加法指令 用法&#xff1a; adc 操作数1&#xff0c;操作数2相当于&#xff1a; 操作数1操作数2进位标志CF->操作数1现在的eax是0&#xff0c;C1&#xff0c;用adc指令直接会是0x6 SBB 带进位减法指令 用法&#xff1a; sbb 操作数1&#xff0c;操作数2相当…

Java——集合(输入一串字符串,统计字符串中每个字符出现的次数)

A&#xff1a;案例演示 需求&#xff1a;输入一串字符串&#xff0c;统计字符串中每个字符出现的次数** 分析&#xff1a;1&#xff0c;定义一个需要被统计字符的字符串2&#xff0c;将字符串转化为字符数组&#xff0c;才能拿到每一个字符3&#xff0c;定义双列集合存储字符串…

entry数组_数组entry()方法以及JavaScript中的示例

entry数组JavaScript entry()方法 (JavaScript entries() method) entries() method is used to create an iterator object of an array to access the keys (index) and values. entry()方法用于创建数组的迭代器对象&#xff0c;以访问键(索引)和值。 Syntax: 句法&#xf…

mul和div指令(8位,16位,32位)

MUL 无符号乘法指令&#xff0c;默认操作数与eax相乘&#xff08;这里只说32位&#xff0c;其他与下面的div类似&#xff09; 格式&#xff1a; mul 操作数 //操作数只有一个操作数与eax相乘&#xff0c;结果共有16位&#xff08;这里的16位是16进制数&#xff09;&#xff…

2011年年终盘点

不知不觉又到了年底&#xff0c;我坐在电脑前&#xff0c;竭力的回忆&#xff0c;却发现回忆中一片空白&#xff0c;能记起也就那么几件事。 一、在暑假做了一个多月的电子商务 在这个过程中&#xff0c;我了解到电子商务的基本流程&#xff0c;以及一些销售技巧&#xff0c;还…

ASP.NET Application,Session,Cookie和ViewState等对象用法和区别

ASP.NET Application,Session,Cookie和ViewState等对象用法和区别 在ASP.NET中&#xff0c;有很多种保存信息的内置对象&#xff0c;如:Application,Session,Cookie,ViewState和Cache等。下面分别介绍它们的用法和区别。 方法 信息量大小 作用域和保存时间 应用…

Java——集合(HashMap与Hashtable的区别)

* HashMap和Hashtable的区别* 共同点&#xff1a;* 底层都是哈希算法&#xff0c;都是双列集合* 区别&#xff1a;* 1&#xff0c;HashMap是线程不安全的&#xff0c;效率高* Hashtable是线程安全的&#xff0c;效率低 * 2&#xff0c;HashMap可以存储null键和null值* Has…

判断字符串是否构成回文_构成字符串回文的最小删除数

判断字符串是否构成回文Problem statement: 问题陈述&#xff1a; Given string str find the minimum number of deletions such that the resultant string is a palindrome. 给定的字符串str找到最小的删除数&#xff0c;以使最终的字符串成为回文。 Input:Each input con…

imul和idiv指令

imul 有符号乘法指令&#xff0c;分单操作数&#xff0c;双操作数和但操作数 单操作数&#xff1a;此形式与mul指令使用完全相同&#xff0c;操作数乘以al、ax、或eax寄存器中的值&#xff0c;乘积分别存储到ax、dx&#xff1a;ax或edx&#xff1a;eax中 执行指令&#xff1a…

Ajax的注册应用

最近发现Ajax在用户注册表单和用户登录表单方面应用&#xff0c;最能体现Ajax的交互特点&#xff0c;因此又是写了一个习作&#xff01; 演示效果 新开窗口地址&#xff1a; http://www.klstudio.com/demo/ajax/reg.htm 下载地址:http://www.klstudio.com/demo/ajax/reg.rar &…

Java——集合(模拟斗地主洗牌和发牌进行排序)

//改进版&#xff0c;没有进行按牌的地位从小到大排序 package com.yy.test;import java.util.ArrayList; import java.util.Collections;public class Test2 {/*** * A&#xff1a;案例演示* 模拟斗地主洗牌核发牌&#xff0c;牌没有排序* * 分析&#xff1a;* 1&#xff0c;…

应用程序控件

活动指示器 当任务或进程已经完成时&#xff0c;活动指示器就会消失。推荐您使用这种默认行为&#xff0c;因为用户期望在有动作发生时看到活动指示器&#xff0c;而且他们会将静止不动的活动指示器与停滞的进程联想到一起。 要了解如何显示网络活动指示器&#xff0c;请参考UI…

离散数学与集合论_离散数学中的集合论和集合类型

离散数学与集合论集合论 (Set theory) The set is a well-defined collection of definite objects of perception or thought and the Georg Cantor is the father of set theory. A set may also be thought of as grouping together of single objects into a whole. The ob…

XADD和NEG命令

XADD 交换相加指令&#xff0c;先交换然后相加 比如说&#xff1a; xadd eax&#xff0c;ecx /* 相当于&#xff1a;先执行&#xff1a;xchg eax,ecx然后执行&#xff1a;add eax,ecx */此时eax2&#xff0c;ecx3&#xff0c;执行完&#xff1a;eax5&#xff0c;ecx2 neg …

Visual C# 2008+SQL Server 2005 数据库与网络开发--11.3.2 LINQ to SQL对数据库建模

Visual Studio 2008版本中为LINQ to SQL提供了一个特别的设计器&#xff0c;使用这个设计器可以很方便的将数据库可视化地转换为LINQ to SQL对象模型。在LINQ to SQL中&#xff0c;设计器在关系数据库的数据模型和开发语言之间建立一座桥梁。当应用程序运行时&#xff0c;LINQ …

Java——异常处理(键盘录入一个整数,输出其对于二进制)

例题&#xff1a; 键盘录入一个int类型的整数&#xff0c;对其求二进制表现形式 如果录入的整数过大&#xff0c;给予提示&#xff0c;录入的整数过大&#xff0c;请重新录入一个整数BigInteger 如果录入的是小数&#xff0c;给予提示&#xff0c;录入的是小数&#xff0c;请…

认清SQL_Server_2005的基于行版本控制的两种隔离级别

--认清SQL_Server_2005的基于行版本控制的两种隔离级别--By:zc_0101 Date:2010-03-31--快照隔离级别(snapshot)和已提交读快照隔离级别(read committed snapshot)--特点&#xff1a;在这两种隔离级别下&#xff0c;读取数据时不再请求共享锁&#xff0c;而且永远不会与修改进程…