我正在嘗試使用Hashmap製作26個鍵值對的字典。我試圖將字母表中的每個字母連接到一個數字,然後遍歷一個字符串並逐字母地從HashMap中打印字母值。試圖使用HashMap將字母與數字相關聯
這是我的嘗試:當編譯
import java.util.*;
public class HashDemo {
public static void main(String[] args) {
HashMap hm = new HashMap();
hm.put("a", 2);
hm.put("b", 3);
hm.put("c", 5);
hm.put("d", 7);
hm.put("e", 11);
String word = new String("bed");
char arr[] = word.toCharArray();
for(char c: word) {
System.out.println(hm.get(c));
}
}
}
我的輸出是:
Note: HashMapDemo.java uses unchecked or unsafe op
Note: Recompile with -Xlint:unchecked for details.
1 error
我當想運行輸出是:
Null
我不知道爲什麼它無法在散列映射中找到該字母。是否因爲hashmap鍵是字符串而不是字符?如果這是我不知道該怎麼辦。
這將修復它。但沒有+1,因爲a)在HashMap上缺少泛型類型,b)使用String構造函數,c)'c +「」'而不是'String.valueOf()';-) – Thilo 2014-10-27 00:31:26
@Thilo但我已經聲明瞭很多方法將字符轉換爲字符串。是的,我將主字符轉換爲Character.toString(c); – 2014-10-27 00:34:14