0
我試圖讓哈希表中的一個響應顯示,當我輸入嗨,但它顯示哈希集中的所有項目任何幫助下面會做的感謝是我的代碼。我如何生成隨機響應
public class tst {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
HashMap<String,HashSet> map = new HashMap<String, HashSet>();
HashSet<String>hs=new HashSet<String>();
Random r = new Random();
hs.add("How are you");
hs.add("Whats up");
hs.add("How Have You Been");
hs.add("Missed Me");
hs.add("ab");
hs.add("cd");
hs.add("Excuse me no no");
map.put("hi",hs);
System.out.println("enter Hi");
String str=input.next().toLowerCase().trim();
if(map.containsKey(str)){
System.out.println(map.get(str));
}
}
}
這是因爲您正在打印'map.get(str)',它是整個'Set'。 –
如果我需要單獨打印一張我錯過了什麼? – user3320908
爲什麼不使用'ArrayList'而不是'HashSet ',然後隨機抽出一個String:'map.get(str).get(r.nextInt(myArrayList.size())) ;'......這樣的事情? –
GameDroids