关于添加学生信息的ID 与student的关系不懂?

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

Aliol

2016-08-05 22:55

     while( i < 3){
			  System.out.println("请输入学生ID:");
			  String ID = console.next();
			  //判断该ID是否被占用
			  // 指定 输入的ID 与 student的关系
			  //此时ID 已与 相应的student 绑定
			  Student st =  students.get(ID);    
			  if ( st == null){
				  //提示输入学生姓名
				  System.out.println("请输入学生姓名:");
				  String  name = console.nextLine();
				  //新的 学生对象
				  Student  newStudent = new Student(ID, name);
				  students.put(ID, newStudent);
				  System.out.println("成功添加学生:"+students.get(ID).name);
				   i++;
				  			} else {
								System.out.println("该学生已被占用!!");
								continue;
							}
		  }


写回答 关注

1回答

  • Xtick
    2016-08-05 23:26:48
    已采纳

    ID是从键盘输入的字符串,st是根据你输入的ID从Map--students中取得的value值。首先进行判断,如果st为空,那么意味着这个ID没有与之匹配的value值,也就是不存在,说明我们可以去添加这个ID。现在这个ID已经确定下来了,那么还差Student中的name。再次从键盘读入,取得name。至此,ID,name都全了,用Student(String,String)的构造方法新建一个Student对象---newStudent。要记得students是HashMap<String,Student>,尖括号里面的String其实就是ID,newStudent对象其实就是Student。

    doroth... 回复蒲杰

    我也这么觉得,所以感觉students.get(ID).name很奇怪

    2016-09-22 10:04:56

    共 4 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题