问答详情
源自:5-2 学生选课---使用 Map 添加学生

Map添加问题

http://img.mukewang.com/565cf4860001665901780426.jpg

我写的程序,运行出来为什么是这样,从控制台输入:李,传进对象中,在输出,为什么变了呢?以下是我的添加函数

public void testIuput(){
  String ID;
  String name;
  Scanner sc=new Scanner(System.in);
  int i=0;
  while(i<3){
   System.out.println("请输入第"+(i+1)+"位学生ID:");
    ID=sc.next();
    Student st=students.get(ID);//判断ID是否被占用,get返回的是value
   if(st==null) {
     System.out.println("请输入学生的姓名:");
     name=sc.next();
     Student stu=new Student(ID,name);
     students.put(ID, stu);
     System.out.println("已经添加成功第 "+students.get(ID).id+" 位学生"+students.get(ID).name);
     i++;
    } else{
     System.out.println("该ID已经被占用了,请重新输入:");
     continue;
    }
  }
 }

提问者:Anneyth 2015-12-01 09:17

个回答

  • porter1011
    2015-12-04 16:51:35
    已采纳

    我运行了你的代码,没有出现你的问题,不过有个新问题,输入姓名的时候,光标如果不在最下面的空白处,程序无法运行,但也没有报错。http://img.mukewang.com/5661540d00012fc202290220.jpg

  • juniortalant
    2015-12-01 16:23:48

    不科学

  • Anneyth
    2015-12-01 16:06:49

    这是随机的 有时候正常,有时候不正常!

  • juniortalant
    2015-12-01 15:57:29

    不科学!