第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

為什么我到最后遍歷出來還是有三個(gè)課程??不應(yīng)該remove后剩兩個(gè)嗎

package pakedate1;

import java.util.*;

import java.util.Map.Entry;

public class Maptest2 {

public Map<String,String>map;

public Maptest2() {

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

}public void test() {

Scanner input=new Scanner(System.in);

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

int i=0;

while(i<3) {

String console=input.nextLine();

String st=map.get(console);

if(st==null) {

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

String name=input.nextLine();

Student st1=new Student(console,name);

map.put(console, name);

System.out.println("成功添加學(xué)生:"+map.get(console));

i++;

}else {

System.out.println("已被占用請重新輸入");

continue;

}

}

}public void test2() {

Set<String>st=map.keySet();

for (String string : st) {

String stt=map.get(string);

if(stt!=null) {

System.out.println("添加的學(xué)生為:"+stt);

}

}

}public void test3() {

System.out.println("請輸入待刪除的課程ID");

Scanner input2=new Scanner(System.in);

while(true) {

String number=input2.nextLine();

String stt2=map.get(number);

if(stt2==null) {

System.out.println("不存在該ID");

continue;

}?

map.remove(stt2);

System.out.println("成功刪除課程"+stt2);

break;

}

}public void test4() {

Set<Entry<String, String>>stt3=map.entrySet();

for (Entry<String, String> entry : stt3) {

System.out.println("還有如下學(xué)生:"+entry.getKey()+entry.getValue());

}

}

public static void main(String[] args) {

Maptest2 t2=new Maptest2();

t2.test();

t2.test2();

t2.test3();

t2.test4();

}


}


正在回答

3 回答

看你代碼test3的第五行,還有第十行

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕沐4503986 提問者

請大神說一下是那個(gè)錯(cuò)誤我看不出來
2018-10-12 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕前端6229441 回復(fù) 慕沐4503986 提問者

remove的參數(shù)錯(cuò)了
2018-10-15 回復(fù) 有任何疑惑可以回復(fù)我~

同樣問題的,路過

package?com.imooc.collection;

import?java.util.*;

public?class?MapTest?{
//????用來盛裝學(xué)生類型對象的map
????public?Map<String,Student>?students;

//????構(gòu)造方法中,初始化students屬性
????public?MapTest()?{
????????this.students=new?HashMap<String,?Student>();
????}

????/*
????*?測試添加方法:輸入學(xué)生ID,判斷該ID是否被占用
????*?若未被占用,則提示繼續(xù)輸入學(xué)生姓名,創(chuàng)建新學(xué)生對象,并且添加到students中
????*
????*?*/

????public?void?testPut(){
//創(chuàng)建1個(gè)scanner對象,用來獲取輸入的學(xué)生ID和姓名
????????Scanner?scanner=new?Scanner(System.in);
????????int?i=0;
????????while?(i<3){
????????????System.out.println("請輸入學(xué)生ID:");
????????????String?ID=scanner.next();
//????????????判斷該ID是否被占用
//????????????students本身是一個(gè)Map類型的字段,其泛型規(guī)定了它的k-v數(shù)據(jù)類型是,字符串---Student映射關(guān)系,
//????????????students.get(ID)意思是,通過傳入ID這個(gè)字符串key,去獲取其映射的Student對象。
????????????Student?student=students.get(ID);
????????????if?(student?==?null)?{
//????????????????提示輸入學(xué)生姓名
????????????????System.out.println("請輸入學(xué)生姓名:");
????????????????String?name=scanner.next();
//????????????????創(chuàng)建新的學(xué)生對象
????????????????Student?newStudent=new?Student(ID,name);
//????????????????通過調(diào)用students的put方法,添加?ID--學(xué)生?映射關(guān)系
????????????????students.put(ID,newStudent);
????????????????System.out.println("成功添加學(xué)生:"?+?students.get(ID).name);
????????????????i++;
????????????}
????????????else?{
????????????????System.out.println("該學(xué)生ID已被占用.");
????????????????continue;
????????????}
????????}
????}


????/*測試Map的KeySet方法,KeySet方法返回的是Map中的所有key的集合
????*?*/
????public?void?testKeySet(){
//????????通過KeySet方法,返回Map中的所有key的Set集合
????????Set<String>?KeySet=students.keySet();
//????????遍歷之前,查詢一下Set中一個(gè)有幾個(gè)學(xué)生?
????????System.out.println("Map中一共有"+students.size()?+?"個(gè)學(xué)生。");

//????????遍歷KeySet,取得每一個(gè)key,在調(diào)用get方法取得每個(gè)對應(yīng)的value
????????for?(String?stuID:KeySet)?{
//????????????因?yàn)閟tudents.get(stuID)取得的每一個(gè)值是一個(gè)student對象。Map里存放的是<編號1,學(xué)生對象1>,<編號2,學(xué)生對象2>,,,,
????????????Student?student=students.get(stuID);
????????????if?(student?!=?null)?{
????????????????System.out.println("學(xué)生信息為:"?+?student.id?+?"??"?+?student.name);
????????????}

????????}

????}

????public?void?testRemove(){

//??????定義一個(gè)scanner對象,用來讀取用戶從鍵盤的輸入:
????????Scanner?scanner=new?Scanner(System.in);
????????while?(true)?{
????????????System.out.println("請輸入學(xué)生ID:");
//????????????定義一個(gè)變量,用來接收用戶的輸入
????????????String?ID=scanner.next();
????????????if(students.get(ID)==null){
????????????????System.out.println("學(xué)生信息不存在,請繼續(xù):");
????????????????continue;
//????????????????System.out.println("輸入的學(xué)生ID不存在,請繼續(xù)輸入:");
????????????}
????????????else?{
????????????????System.out.println("即將刪除的學(xué)生信息為:ID為:"?+?""?+?students.get(ID).id?+?"名字為:"?+?students.get(ID).name);
//????????????????注意,這里的remove參數(shù)應(yīng)該是Map里面的Key,這個(gè)Key就是鍵盤輸入的那個(gè)ID。
//????????????????參考鏈接:http://idcbgp.cn/qadetail/289685?否則,刪除之后,再打印輸出時(shí),還是3個(gè)學(xué)生。
????????????????students.remove(ID);
//????????????????System.out.println("刪除之后的學(xué)生信息為:");
????????????????break;
????????????}

????????}
????}

????/*
????*?通過EntrySet來遍歷Map
????*?*/
????public?void?testEntrySet(){
????????Set<Map.Entry<String,?Student>>?entrySet=students.entrySet();
????????for?(Map.Entry<String,Student>?entry:?entrySet)?{
????????????System.out.println("學(xué)生ID為:"+entry.getKey());
????????????System.out.println("學(xué)生姓名為:"+entry.getValue().name);
????????}

????}

????public?static?void?main(String[]?args)?{
????????MapTest?mapTest=new?MapTest();
????????mapTest.testPut();
????????mapTest.testKeySet();
????????mapTest.testRemove();
????????mapTest.testEntrySet();
????}

}
0 回復(fù) 有任何疑惑可以回復(fù)我~

remove(key)的參數(shù)應(yīng)該是key,而不是學(xué)生對象


1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么我到最后遍歷出來還是有三個(gè)課程??不應(yīng)該remove后剩兩個(gè)嗎

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號