A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© fanshuai 中级黑马   /  2015-1-29 13:38  /  1084 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问这样写思路和步骤可以吗?语言表达能力不是很好,一直不怎么会写思路和步骤。
经常代码都写完了,可是思路和步骤还写不出来。
/*
传智播客学校:预热班,就业班

预热班:张三,23
        李四,25
就业班:王五,34
        赵六,26
思路:
1.创建学校集合,来存储班级名称和班级集合(学生名称,学生年龄)
2.创建班级集合,并赋值
3.定义功能取出所有班级的学生信息,以便提高复用性
步骤:
1.用HashMap集合创建czbk集合,类型为<String,HashMap<String,Integer>>
2.用HashMap集合创建班级集合,类型为<String,Integer>,并对其赋值
3.定义方法getStudentInfo来获取全部班级的学生信息
4.先取得学校集合的键,再获取值,获取到的学校集合中的值就是班级集合的对象
5.再获取班级的键,然后获取值,最后打印
*/

import java.util.*;

class MapDemo3
{
        public static void main(String[] args)
        {
                HashMap<String,HashMap<String,Integer>> czbk=new HashMap<String,HashMap<String,Integer>>();//创建传智播客学校
                HashMap<String,Integer> yure=new HashMap<String,Integer>();//创建预热班
                HashMap<String,Integer> jiuye=new HashMap<String,Integer>();//创建就业班
                czbk.put("yureban",yure);
                czbk.put("jiuyeban",jiuye);

                yure.put("zhangsan",23);
                yure.put("lisi",25);

                jiuye.put("wnagwu",34);
                jiuye.put("zhaoliu",26);

                getStudentInfo(czbk);


        }
        public static void getStudentInfo (HashMap<String,HashMap<String,Integer>> hm)//取出一个学校所有学生
        {
                Set<Map.Entry<String,HashMap<String,Integer>>> s=hm.entrySet();//取出学校集合的键值对应关系
                for(Iterator<Map.Entry<String,HashMap<String,Integer>>> i=s.iterator();i.hasNext();)//用叠加器遍历学校集合
                {
                        Map.Entry<String,HashMap<String,Integer>> me=i.next();
                        String roomName=me.getKey();//取得班级的名字
                       
                        HashMap<String,Integer> banji=hm.get(roomName);//用班级名字取得班级集合
                        Set<String> nameSet=banji.keySet();//取得班级集合中的键--学生姓名
                        for(Iterator<String> i1=nameSet.iterator();i1.hasNext();)//用叠加器遍历班级集合
                        {
                                String name=i1.next();//取得班级中学生的名字
                                System.out.println("class:"+roomName+"--name:"+name+"--age:"+banji.get(name));//打印班级名称,学生名字,学生年龄
                        }
                        System.out.println("_____________________");
                }
               
        }
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马