谁能为我解答一下谢谢,基础不好

来源:6-2 学生选课---判断 Set 中课程是否存在

Vleyong

2015-01-25 11:00

54c45c310001c59805000354.jpg问题也在图片上

写回答 关注

2回答

  • qq电子时代
    2016-04-11 09:43:20

          public void AddTest(){

                for(int i=0;i<3;i=i){

                        String ID=JOptionPane.showInputDialog("输入学生id");       //我用的是对话框输出,作用一样的

                        Student stu=students.get(ID);           //这里get(ID)是获得"K(ID)"所对应的"V"

                       if(stu==null){                                      //stu在此代表的并不是"K(ID)",而是"V"

                                 String name=JOptionPane.showInputDialog("输入学生姓名");

                                 stu=new Student(ID, name);           //在此我没创建新对象还是用的stu

                                 students.put(ID, stu);                       //把ID与stu赋予联系,是他俩存在映射

                                   System.out.println("添加学生:"+students.get(ID).name);

                                   i++;

                                   }else{

                                           System.out.println("该ID被占用");

                                           continue;

                                            }

                                 }

                       }


  • 仗剑闯江湖
    2015-01-25 12:40:13

    students应该是一个集合,调用get()方法返回的是一个Student类型的对象,st是对这个对象的引用,可以认为是保存着这个对象的地址,st==null意味着st是一个空的引用。

    跟c的指针是一样的,指针本身保存的内存地址,指针的类型说明它所指向的对象的类型。

    仗剑闯江湖 回复Vleyon...

    一个对象有一堆属性和一堆方法,你说赋哪个?而且对象的属性还会变来变去,唯一不变的只有对象的地址,你拿到这个地址,想做什么操作或者取哪个属性,直接到那个地址去找就OK了。

    2015-01-26 13:29:30

    共 4 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题