亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

一直顯示ID已被占用

http://img1.sycdn.imooc.com//5f40847e0001443d01500264.jpg

package imooc_Map_ManageStudents;


import java.util.HashMap;

import java.util.Map;

import java.util.Scanner;


/**

?* 利用Map管理學生信息,實現增刪改查的功能

?* @author john

?*m

?*/

public class Test_Map{


public static void main(String[] args) {

Test_Map tm=new Test_Map();

tm.testPut();

}

//創建含有泛型的Map對象<key,value>

Map <String,Student> students ;

//利用構造方法初始化students

public Test_Map() {

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

}

/**

* 測試添加方法,從鍵盤輸入ID,判斷ID是否被占用,未被占用繼續輸入姓名,存入students中

*/

public void testPut(){

System.out.println("請輸入學生ID:");

Scanner input=new Scanner(System.in);

//循環控制每次只能輸入三個ID

int i=0;

String ID=input.next();//存放輸入的ID

while(i<3) {

if(students.get(ID)==null) {

//輸入的ID對應的value為空,提示輸入學生姓名

System.out.println("請輸入學生姓名:");

String Name=input.next();

//創建一個新的Student對象

Student newStudent=new Student(ID,Name);

//利用HashMap的put方法,把Stu1放入students中

students.put(ID, newStudent);

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

i++;

}else {

System.out.println("該ID已被占用!");

continue;

}

}

}

}


正在回答

2 回答

你的判斷有問題,每次輸入都是實例化一個新的對象,你的是保存了第一次輸入的http://img1.sycdn.imooc.com//5fc5a2ce00017c0015001502.jpg

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

應該把提示輸入學生ID、接收從鍵盤輸入的ID這兩句代碼放在while循環內。

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

舉報

0/150
提交
取消

一直顯示ID已被占用

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號