为hashmap迭代数字和字母

时间:2016-11-06 05:00:29

标签: java for-loop hashmap iteration

我正在尝试将字母表中的每个字母与其对应的数字相关联。 0 = a,1 = b,2 = c等

虽然我的号码排序正确,但我的字母都是“z”。我做错了什么(用我的循环)?

public static void cipherMap (Map<Integer, Character> map) {
    for (int i = 0; i <= 25; i++) { 
        for (Character alphabet = 'a'; alphabet <= 'z'; alphabet++) {
            map.put(new Integer(i), alphabet);
        }   
    }
}

输出:

0: z
1: z
2: z
3: z
4: z
5: z ... so on

1 个答案:

答案 0 :(得分:2)

内部循环的最后一步将每个i设置为z。删除内部for循环并执行类似的操作

public static void cipherMap (Map<Integer, Character> map) {
    for (int i = 0; i <= 25; i++) { 
        map.put(i, (char) ('a' + i));   
    }
}