java学习日记3

package test_4_01;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import base.Student;

public class Test4 {
    public static List<Student1> initStudent() {
        List<Student1> studentList = new ArrayList<Student1>();
        for (int i = 0; i < 100; i++) {
            int suijishu = (int) (Math.random() * 1000);
            int suijishu1 = (int) (Math.random() * 1000);
            Student1 stuInfo = new Student1();
            stuInfo.setId("StuId" + i);
            stuInfo.setNumber("no" + suijishu);
            stuInfo.setName("学生" + suijishu1);
            studentList.add(stuInfo);
            System.out.println(
                    "学生信息_____id:" + stuInfo.getId() + " 编号:" + stuInfo.getNumber() + " 姓名:" + stuInfo.getName());
        }
        return studentList;
    }

    public static List<ClassInfo> initClass() {
        List<ClassInfo> classList = new ArrayList<ClassInfo>();
        for (int i = 0; i < 10; i++) {
            int suijishu = (int) (Math.random() * 1000);
            int suijishu1 = (int) (Math.random() * 1000);
            ClassInfo classInfo = new ClassInfo();
            classInfo.setId("ClassId" + i);
            classInfo.setNumber("no" + suijishu);
            classInfo.setName("班级" + suijishu1);
            classInfo.setGradeid_nianji("GradeId" + (suijishu1 % 3));
            classList.add(classInfo);
            System.out.println("班级信息_____id:" + classInfo.getId() + " 所属年级id:" + classInfo.getGradeid_nianji() + " 编号:"
                    + classInfo.getNumber() + " 名称:" + classInfo.getName());
        }
        return classList;
    }

    public static List<GradeInfo> initGrade() {
        List<GradeInfo> gradeList = new ArrayList<GradeInfo>();
        GradeInfo gradeInfo = new GradeInfo();
        gradeInfo.setId("GradeId" + 0);
        gradeInfo.setNumber("no" + 0);
        gradeInfo.setName("一年级");
        gradeList.add(gradeInfo);
        System.out.println(
                "年级信息_____id:" + gradeInfo.getId() + " 编号:" + gradeInfo.getNumber() + " 名称:" + gradeInfo.getName());

        GradeInfo gradeInfo1 = new GradeInfo();
        gradeInfo1.setId("GradeId" + 1);
        gradeInfo1.setNumber("no" + 1);
        gradeInfo1.setName("二年级");
        gradeList.add(gradeInfo1);
        System.out.println(
                "年级信息_____id:" + gradeInfo1.getId() + " 编号:" + gradeInfo1.getNumber() + "名称:" + gradeInfo1.getName());

        GradeInfo gradeInfo2 = new GradeInfo();
        gradeInfo2.setId("GradeId" + 2);
        gradeInfo2.setNumber("no" + 2);
        gradeInfo2.setName("三年级");
        gradeList.add(gradeInfo2);
        System.out.println(
                "年级信息_____id:" + gradeInfo2.getId() + " 编号:" + gradeInfo2.getNumber() + "名称:" + gradeInfo2.getName());

        return gradeList;
    }

    public static List<StudentRelationClass> initStudentRelation() {
        List<StudentRelationClass> relationList = new ArrayList<StudentRelationClass>();
        Set<Integer> yiyouSet = new HashSet<Integer>();
        for (int i = 0; i < 150; i++) {
            int suijishu = (int) (Math.random() * 100);
            if (!yiyouSet.contains(suijishu)) {
                yiyouSet.add(suijishu);
            } else {
                continue;
            }
            int suijishu1 = (int) (Math.random() * 100);
            StudentRelationClass relationInfo = new StudentRelationClass();
            relationInfo.setStudentid("StuId" + suijishu);
            relationInfo.setClassid("ClassId" + (suijishu1 % 10));
            Calendar c = Calendar.getInstance();
            c.set(Calendar.MONTH, suijishu1 % 11);
            c.set(Calendar.DAY_OF_MONTH, suijishu1 % 28);
            relationInfo.setInDate(c.getTime());
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            String dateString = formatter.format(relationInfo.getInDate());
            System.out.println("关联信息_____stuid:" + relationInfo.getStudentid() + "所属班级id:" + relationInfo.getClassid()
                    + ",加入时间:" + dateString);
            relationList.add(relationInfo);// ...
        }
        return relationList;
    }

    public static List<ResultInfo> initResultInfo() {
        List<ResultInfo> resultList = new ArrayList<ResultInfo>();
        Set<String> keySet=new HashSet<String>();
        for (int i = 0; i < 500; i++) {
            int suijishu = (int) (Math.random() * 100);
            int suijishu1 = (int) (Math.random() * 100);
            ResultInfo resultInfo = new ResultInfo();
            String key ="StuId" + suijishu+"學科"+(suijishu1%7);
            if(keySet.contains(key)) {
                continue;
            }else {
                keySet.add(key);
            }
            
            resultInfo.setStudentid("StuId" + suijishu);
            resultInfo.setScore(suijishu1);
            resultInfo.setItem("學科"+(suijishu1%7));
            System.out.println("成绩信息_____stuid:" + resultInfo.getStudentid() + " 成绩:" + resultInfo.getScore()+",學科:"+resultInfo.getItem());
            resultList.add(resultInfo);
        }
        return resultList;
    }

    public static void main(String[] args) {
        // 初始化学生
        List<Student1> studentList = initStudent();
        // 初始化年级
        List<GradeInfo> gradeList = initGrade();
        // 初始化班级
        List<ClassInfo> classList = initClass();
        // 初始化关联关系
        List<StudentRelationClass> relationList = initStudentRelation();
        // 初始化学生成绩list
        List<ResultInfo> resultInfoList = initResultInfo();
        // 初始化map,key为stuid,value为 a[0]编号,a[1]姓名,a[2]班级,a[3]年级,a[4]成绩,a[5]加入时间
        HashMap<String, Object[]> map3 = new HashMap<String, Object[]>();
        for (int i = 0; i < studentList.size(); i++) {

            Student1 stuInfo = studentList.get(i);
            if (!map3.containsKey(stuInfo.getId())) {
                Object[] a = new Object[6];
                a[0] = stuInfo.getNumber();
                a[1] = stuInfo.getName();
                for (int j = 0; j < relationList.size(); j++) {
                    if (stuInfo.getId().equals(relationList.get(j).getStudentid())) {
                        String q = relationList.get(j).getClassid();// 所屬班級ID:ClassId
                        for (int m = 0; m < classList.size(); m++) {
                            String p = classList.get(m).getId(); //
                            if (q.equals(p)) {
                                a[5] = relationList.get(j).getInDate();
                                a[2] = classList.get(m).getName();
                                String w = classList.get(m).getGradeid_nianji();
                                for (int q1 = 0; q1 < gradeList.size(); q1++) {
                                    String m1 = gradeList.get(q1).getId();
                                    if (w.equals(m1)) {
                                        a[3] = gradeList.get(q1).getName();
                                        // map3.put(stuInfo.getId(), a);
                                    }
                                }
                            }
                        }
                    }
                }
                for (int h = 0; h < resultInfoList.size(); h++) {
                    if (stuInfo.getId().equals(resultInfoList.get(h).getStudentid())) {
                        a[4] = resultInfoList.get(h).getScore();

                        map3.put(stuInfo.getId(), a);
                    }
                }
            }
        }
        for (Object key : map3.keySet()) {
            Object[] value = (Object[]) map3.get(key);
            System.out.println("学生ID " + key + " : 编号 " + value[0] + " 姓名:" + value[1] + " 所属" + value[2] + " 所属年级"
                    + value[3] + " 成绩 " + value[4] + " 加入时间 " + value[5]);
        }

        // 展示学生的所有信息

        // System.out.println("学生id:StuId75,编号:no392,姓名:学生600,所属班级:班级432,年级:二年级,成绩:550,加入时间:2020-01-04");
        // System.out.println("学生id:StuId45,编号:no274,姓名:学生865,所属班级:班级168,年级:三年级,成绩:673,加入时间:2020-01-04");
        //
        // System.out.println("学生id:StuId9,编号:no274,姓名:学生865,所属班级:班级17,年级:三年级,成绩:无,加入时间:2020-01-04");

    }

}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值