为了账号安全,请及时绑定邮箱和手机立即绑定

请输入学生ID: 1 请输入学生姓名: 小红 成功添加:xi小红 请输入学生ID: 为什么小红前面还有xi

package ine.collection;


import java.util.HashMap;

import java.util.Map;

import java.util.Scanner;

import java.util.Set;


public class MapTest {

public Map<String,Student>students;

public MapTest(){

this.students=new HashMap<String,Student>();

}

  public void testPut(){

 

Scanner consol=new Scanner(System.in);

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

 System.out.println("请输入学生ID:");

 String ID=consol.next();

 Student st=students.get(ID);

 if (st==null){

 System.out.println("请输入学生姓名:");

 String name=consol.next();

 Student newStudent=new Student(ID,name);

 //通过调用Studet的put方法,添加ID-学生的映射关系

 students.put(ID, newStudent);

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

 }else{

 System.out.println("该学生ID已被占用!");

 continue;

 }

 }

  }

public void testKeySet(){

Set<String>keySet=students.keySet();

System.out.println("总共有"+students.size()+"个同学");

for (String stuID : keySet) {

Student st=students.get(stuID);

if(st!=null){

System.out.println("学生:"+st.name);

}

}

}


public static void main(String[] args) {

// TODO Auto-generated method stub

MapTest temp=new MapTest();

temp.testPut();

temp.testKeySet();

}


}


正在回答

3 回答

我看了下代码没问题,你检查下是不是输入“小红”的时候有误操作吧?

0 回复 有任何疑惑可以回复我~

你理解的不够 加油吧

0 回复 有任何疑惑可以回复我~

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

第一,students.get(ID).name是什么意思,java中没有对象.属性调用属性的。

另外你这代码,testkeySet方法不会执行的啊。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请输入学生ID: 1 请输入学生姓名: 小红 成功添加:xi小红 请输入学生ID: 为什么小红前面还有xi

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号