【发布时间】:2020-07-22 11:38:25
【问题描述】:
我必须使用一个名为 countLetters() 的静态方法创建一个名为 MakeMap 的类。该方法应将由小写字母组成的单词作为参数,并返回单词中字母计数的映射。 这是 Main 类的测试代码(我无法编辑):
import java.util.Map;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
public class Main
{
public static void main(String [] args)
{
Map<Character, Integer> count = MakeMap.countLetters("hello");
List<Character> letters = new ArrayList<Character>(count.keySet());
Collections.sort(letters);
for(Character letter : letters)
System.out.println("There are " + count.get(letter) + " of the letter '" + letter + "'");
}
}
输出的格式也必须是这样的: $java 主要 有1个字母'e' 有 1 个字母“h” 有2个字母'l' 有1个字母'o'
这是我迄今为止在 MakeMap 课程中所尝试的。我觉得我只需要进行一些小的调整即可使其正常工作。
import java.util.Map;
import java.util.TreeMap;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
public class MakeMap
{
public static Map countLetters(String word)
{
HashMap<Character, Integer> charCountMap = new HashMap<Character, Integer>();
String w = word.toLowerCase();
// checking each char of strArray
for(int i = 0; i < word.length(); i++)
{
if(charCountMap.containsKey(word.charAt(i)))
{
// If char is present in charCountMap,
// incrementing it's count by 1
charCountMap.put(word.charAt(i), charCountMap.get((word.charAt(i)) + 1 ));
}
else
{
// If char is not present in charCountMap,
// putting this char to charCountMap with 1 as it's value
charCountMap.put(word.charAt(i), 1);
}
}
return charCountMap;
}
}
这是我收到的错误消息: 注意:Main.java 使用未经检查或不安全的操作。 注意:重新编译时使用 -Xlint:unchecked for details。
【问题讨论】:
-
欢迎来到 SO!诸如“我如何使这项工作”之类的问题很难回答,您能否提供一些有关错误或您得到的输出的信息?
标签: java class generics hashmap