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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码如下,本来是想先打印一个班级名,然后打印班级里的学生。是班级名,学生,班级名,学生的格式,但运行后打印的是班级名,班级名,学生,学生的格式,看了半天,感觉代码没什么问题啊,求高人指点。
import java.util.*;
class student
{        private String id;
        private String name;
        student(String id,String name)
        {
                this.name=name;
                this.id=id;
        }
        public String toString()
        {
                return id+":"+name;
        }
       
}
class MapTest2

{        public static void main(String[] args)
        {  Demo();
        }
       
        public static void Demo()
        {HashMap<String,List<student>> czbk=new HashMap<String,List<student>>();
        List<student> yure=new ArrayList<student>();
        List<student> jiuye=new ArrayList<student>();
                czbk.put("yureban:",yure);
                czbk.put("jiuyeban:",jiuye);
                yure.add(new student("01","zhagnsan"));
                yure.add(new student("02","liai"));
                yure.add(new student("03","qNFQU"));
                yure.add(new student("01","zhagnsan1"));
                yure.add(new student("02","SUNSAN"));
                yure.add(new student("03","ZHAOLIU"));
                Iterator<String> it=czbk.keySet().iterator();
                while(it.hasNext())
                {        String roomname=it.next();
                        List<student> room=czbk.get(roomname);
                        System.out.println(roomname);
                        getStudent(room);
                }               
}

public static void getStudent(List<student> list )
        {        Iterator<student> it=list.iterator();
                while(it.hasNext())
                {
                        student s=it.next();
                       
                        System.out.println(s);
                }
        }
       
}

2 个回复

正序浏览
楼上说的很对啊,你把信息都加到 预热班里了,就业班为空啊,没有数据,自然没法打印了啊。
按下面的修改一下就好了
czbk.put("yureban:",yure);
                czbk.put("jiuyeban:",jiuye);
                jiuye.add(new student("01","zhagnsan"));
                jiuye.add(new student("02","liai"));


                yure.add(new student("03","qNFQU"));
                yure.add(new student("01","zhagnsan1"));
                yure.add(new student("02","SUNSAN"));
                yure.add(new student("03","ZHAOLIU"));

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
你把学生都添加到预热班里了,迭代时先得到就业班,就业班为空,什么都没打印,接着得到预热班,并打印里边的学生,所以打印结果是那样的

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马