gpt4 book ai didi

java - 尝试使用HashMap将字母与数字关联起来

转载 作者:行者123 更新时间:2023-12-01 18:24:38 26 4
gpt4 key购买 nike

我正在尝试使用 Hashmap 制作一个包含 26 个键值对的字典。我试图将字母表中的每个字母链接到一个数字,然后迭代一个字符串,并逐个字母地打印 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 中找不到该字母。是因为 HashMap 键是字符串而不是字符吗?如果是的话我仍然不知道该怎么办。

最佳答案

您应该通过字符串而不是从 char 获取值。因为映射包含 Strings.c 是一个 char 。通过与字符串 c+"" 连接,您可以将其更改为 String。并且 char c: word 不正确,应该是 char c: arr 因为 word 不是数组,它只是一个 String。您可以使用 String.valueOf(c) ; 也用于将 char 转换为 String

改变

hm.get(c)

String.valueOf(c)

hm.get(Character.toString(c))

hm.get(c+"")


   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: arr) {
System.out.println(hm.get(String.valueOf(c)));
}

关于java - 尝试使用HashMap将字母与数字关联起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26579512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com