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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王雷1 中级黑马   /  2013-11-20 16:04  /  1593 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Student{
private String name;
private int age;
Student(String name,int age){
  this.name=name;
  this.age=age;
}
public String toStrint(){
  return name+":::"+age;
}
}
class xuexiao{
public void xuexiao1(){
  TreeMap<String,ArrayList<Student>> xuexiao=new TreeMap<String,ArrayList<Student>>();
  ArrayList<Student> yiban=new ArrayList<Student>();
  ArrayList<Student> erban=new ArrayList<Student>();
  xuexiao.put("yiban",yiban);
  xuexiao.put("erban",erban);
  yiban.add(new Student("zhangsan",12));
  yiban.add(new Student("zhangsan",13));
  yiban.add(new Student("zhangsan",14));
  erban.add(new Student("wangwu",23));
  erban.add(new Student("wangwu",24));
  erban.add(new Student("wangwu",22));
}
public void getStudent(TreeMap<String,ArrayList<Student>> xuexiao,ArrayList<Student> banji){
  Iterator<String> it=xuexiao.keySet().iterator();
  while(it.hasNext()){
   String s=it.next();
   ArrayList<Student> ss=xuexiao.get(s);
   if(ss==banji)
    System.out.println(s);
   Iterator<Student> itr=banji.iterator();
   while(itr.hasNext()){
    Student sss=itr.next();
    if(ss==banji)
     System.out.println(sss);
   }
  }
}
}
class p{
public static void main(String[] args){
  xuexiao xx=new xuexiao();
  xx.xuexiao1();
  xx.getStudent(xuexiao,erban);
}//我就是想这么传,但是这是错误的参数,运行就Error,上面的代码我应该怎么写,这里可以这么传?
}

评分

参与人数 1技术分 +1 收起 理由
To + 1

查看全部评分

2 个回复

倒序浏览
我估计LZ是想这么写,所以我写个能运行的版本,风格完全参考LZ,别吐槽我。

功能:根据班级名,查找指定学校中对应班级的人员信息
  1. package test;
  2. import java.util.ArrayList;
  3. import java.util.Iterator;
  4. import java.util.TreeMap;

  5. class Student {
  6.         private String name;
  7.         private int age;
  8.         Student(String name, int age) {
  9.                 this.name = name;
  10.                 this.age = age;
  11.         }
  12.         public String toStrint() {
  13.                 return name + ":::" + age;
  14.         }
  15. }
  16. class xuexiao {
  17.         TreeMap<String, ArrayList<Student>> xuexiao = null;//学校
  18.         ArrayList<Student> yiban = null;//一班
  19.         ArrayList<Student> erban = null;//二班

  20.         /**
  21.          * 初始化学校、班级数据
  22.          */
  23.         public void xuexiao1() {
  24.                 xuexiao = new TreeMap<String, ArrayList<Student>>();
  25.                 yiban = new ArrayList<Student>();
  26.                 erban = new ArrayList<Student>();
  27.                 xuexiao.put("yiban", yiban);
  28.                 xuexiao.put("erban", erban);
  29.                 yiban.add(new Student("zhangsan", 12));
  30.                 yiban.add(new Student("zhangsan", 13));
  31.                 yiban.add(new Student("zhangsan", 14));
  32.                 erban.add(new Student("wangwu", 23));
  33.                 erban.add(new Student("wangwu", 24));
  34.                 erban.add(new Student("wangwu", 22));
  35.         }

  36.         /**
  37.          * 放入学校、班级名称,输出该班级学生列表
  38.          *
  39.          * @param xuexiao
  40.          * @param banji
  41.          * @return
  42.          */
  43.         public void getStudent(TreeMap<String, ArrayList<Student>> xuexiao,
  44.                         String banji) {
  45.                 Iterator<String> it = xuexiao.keySet().iterator();
  46.                 while (it.hasNext()) {
  47.                         //遍历集合
  48.                         String s = it.next();
  49.                         //        如果班级名相同
  50.                         if (s.equals(banji)) {
  51.                                 System.out.println("班级名是:" + s);
  52.                                 ArrayList<Student> ss = xuexiao.get(s);//当前班级人员集合

  53.                                 Iterator<Student> itr = ss.iterator();
  54.                                 while (itr.hasNext()) {//遍历班级人员
  55.                                         Student sss = itr.next();
  56.                                         System.out.println("该班学生的信息:"+sss.toStrint());
  57.                                 }
  58.                         }

  59.                 }
  60.         }
  61. }
  62. public class p {

  63.         public static void main(String[] args) {
  64.                 xuexiao xx = new xuexiao();
  65.                 xx.xuexiao1();//初始化
  66.                 //我估计LZ应该是想这么写,所以我写个根据班级名出资料的法子
  67.                 xx.getStudent(xx.xuexiao, "erban");//这方法应该这么写

  68.         }
  69. }
复制代码
还有LZ,你该好好学习下规范,别贪功冒进了……

评分

参与人数 1技术分 +1 收起 理由
To + 1 1分鼓励

查看全部评分

回复 使用道具 举报
家里没有网,所以看到的晚了点,我就是要这样的结果,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马