900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 设一个学生的信息包括学号 姓名 出生日期和性别等。把n个学生的信息放入一个集合中

设一个学生的信息包括学号 姓名 出生日期和性别等。把n个学生的信息放入一个集合中

时间:2021-05-29 19:55:53

相关推荐

设一个学生的信息包括学号 姓名 出生日期和性别等。把n个学生的信息放入一个集合中

设一个学生的信息包括学号、姓名、出生日期和性别等。把n个学生的信息放入一个集合中,可以根据学号对学生信息进行检索,并且可以根据出生日期对学生进行排序输出。

要求

对于每个学生的个人信息,可以定义一个类来表示,命名为Student.其每个对象表示一个学生。题目要求按照学号对学生进行检索,这样可以以学号为键值,把学生的信息保存到一个Map中,出生日期可以用Date类表示。

为了完成检索和排序功能,定义一个工具类StuManager,在其中定义如下几个函数:

(1)初始化学生信息函数。

(2)检索学生信息函数。

(3)按照出生日期对学生进行排序函数。

import java.util.ArrayList;import java.util.Date;import java.util.Iterator;import java.util.List;import java.util.TreeMap;/*定义学生类*/public class Student {int id;//学号String gender;//性别Date birth;//生日String name;//姓名public Student(int id,String name,String gender,Date birth) {this.id=id;this.name=name;this.gender=gender;this.birth=birth;}public String toString() {return id+"-"+name+"-"+gender+"-"+birth;//返回个人信息}}

import java.util.ArrayList;import java.util.Date;import java.util.Iterator;import java.util.List;import java.util.TreeMap;/*定义学生管理类*/public class StuManager {int STU_NUM=10;TreeMap stuList=new TreeMap();//初始化学生信息void iniStudents() {for(int i=0;i<STU_NUM;i++) {int id=i;String name="name"+(int)(Math.random()*1000);//随机生成学生姓名String gender="女";if(i%2==0) {gender="男";}Date birth=new Date(new Date().getTime()+(long)(Math.random()*1000000000000l));//随机生成学生日期Student stu=new Student(id,name,gender,birth);stuList.put(id, stu);}}Student searchByID(int id) {Student stu=(Student)stuList.get(id);return stu;}//按照日期排序使用冒泡法List sortStudentByDate() {List stus=new ArrayList();//把学生加入列表stus.addAll(stuList.values());//使用冒泡法对学生进行排序for(int i=0;i<stus.size();i++) {for(int j=0;j<stus.size();j++) {Student tmp1=(Student)stus.get(i);Student tmp2=(Student)stus.get(j);//比较出生日期if(tmp1.birth.before(tmp2.birth)) {stus.set(i,tmp2);stus.set(j,tmp1);}}}return stus;}public static void main(String args[]) {StuManager manager=new StuManager();manager.iniStudents();//随机生成一个学号进行检索int id=(int)(Math.random()*10);System.out.println("检索学号:"+id);Student stu=manager.searchByID(id);if(stu==null) {System.out.println("未检索到学生信息");}elseSystem.out.println("检索到的学生信息是:"+stu);System.out.println("按日期排序的结果:");List l=manager.sortStudentByDate();//便利列表进行输出for (Iterator iterator=l.iterator();iterator.hasNext();) {Student tmp=(Student) iterator.next();System.out.println(tmp);}}}

运行结果:

设一个学生的信息包括学号 姓名 出生日期和性别等。把n个学生的信息放入一个集合中 可以根据学号对学生信息进行检索 并且可以根据出生日期对学生进行排序输出。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。