Map添加问题

来源:5-2 学生选课---使用 Map 添加学生

Anneyth

2015-12-01 09:17

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;
    }
  }
 }

写回答 关注

4回答

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

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

    Anneyt...

    可能是我的输入法原因吧!你说的问题,我也遇到过,光标在提示的后面输入也可以,但是通常默认光标是在提示前面,那样的话输入,程序就运行不了了,这是什么情况?

    2015-12-05 11:06:51

    共 1 条回复 >

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

    不科学

    Anneyt...

    什么情况啊?

    2015-12-01 16:27:03

    共 1 条回复 >

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

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

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

    不科学!

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题