【问题标题】:Iterating Numbers and Alphabet for hashmap迭代哈希图的数字和字母
【发布时间】:2017-03-19 16:10:09
【问题描述】:

我正在尝试将字母表中的每个字母与其对应的数字相关联。 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

【问题讨论】:

  • 因为您在同一 i 迭代中遍历整个字母表...您的值将被覆盖直到 z

标签: java for-loop hashmap iteration


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-07-25
    • 2018-10-07
    • 2012-12-27
    • 2013-04-30
    • 2011-02-28
    • 2014-12-15
    • 2019-03-25
    • 2019-04-06
    • 1970-01-01
    相关资源
    最近更新 更多