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

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

將while循環(huán)改為for循環(huán)結(jié)果就出問(wèn)題了,輸出的結(jié)果若已添加ID 1的學(xué)生,再重復(fù)添加ID 1,則最后只能添加兩個(gè)學(xué)生就結(jié)束了

package com.dh.collection2;


import java.util.HashMap;

import java.util.HashSet;

import java.util.Map;

import java.util.Scanner;

import java.util.Set;


/** ?

?* Map(key(不可重復(fù))-value) ? 實(shí)現(xiàn)添加學(xué)生

?*

?*/

public class MapTest {

public Map<String,Student> students; ?//泛型,key是String,value是Student

public MapTest() { ?//構(gòu)造器初始化students

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

}

/*

* put添加學(xué)生: 判斷學(xué)生ID是否被占用(避免重復(fù)添加),若未重復(fù)則輸入姓名,創(chuàng)建新學(xué)生對(duì)象,添加到students

*/

public void testPut() {

Scanner sc=new Scanner(System.in);

for(int i=0;i<3;i++) { ?//輸入三個(gè)學(xué)生

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

String ID=sc.nextLine();

Student st=students.get(ID); ?//取得這個(gè)ID,比較輸入的ID,判斷是否重復(fù)

if(st==null) {

//提示輸入姓名

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

String name=sc.nextLine();

Student newStudent=new Student(ID,name);

students.put(ID, newStudent);

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

}else {

System.out.println("該學(xué)生ID已被占用!");

continue;

}

}

}

/*

* 測(cè)試并利用keySet方法,返回Map中所有key的set集合

*/

public void testKeySet() {

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

System.out.println("共有"+students.size()+"個(gè)學(xué)生");

//遍歷keySet,取得每個(gè)key,再調(diào)用get取得對(duì)應(yīng)的value

for(String stuID:keySet) {

Student st=students.get(stuID);

if(st!=null) {

System.out.println("學(xué)生"+st.name);

}

}

}

public static void main(String[] args) {

MapTest mp=new MapTest();

mp.testPut();

mp.testKeySet();

}

}


正在回答

3 回答

原先i++是寫(xiě)在if判斷語(yǔ)句的末尾,只在成功添加后i+1,現(xiàn)在for循環(huán)條件在if(){}else{}兩個(gè)條件任意之一執(zhí)行完都會(huì)i+1.

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

慕西游 提問(wèn)者

非常感謝!
2018-06-04 回復(fù) 有任何疑惑可以回復(fù)我~

可以把 i++單獨(dú)拿出來(lái)放到 if 里邊

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

int i=0;

for(;i<3;) {

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

String ID=console.next();

//判斷該ID是否被占用

Student st=students.get(ID);

if(st==null) {

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

String name=console.next();

//創(chuàng)建新的學(xué)生對(duì)象

Student newStudent=new Student(ID, name);

//通過(guò)調(diào)用student的put方法,添加ID-學(xué)生映射

students.put(ID, newStudent);

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

? ?i++;

}else {

System.out.println("該學(xué)生ID已被占用");

continue;

}

}

可以這樣來(lái)

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

舉報(bào)

0/150
提交
取消

將while循環(huán)改為for循環(huán)結(jié)果就出問(wèn)題了,輸出的結(jié)果若已添加ID 1的學(xué)生,再重復(fù)添加ID 1,則最后只能添加兩個(gè)學(xué)生就結(jié)束了

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

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

幫助反饋 APP下載

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

公眾號(hào)

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