gpt4 book ai didi

java - Java 中的字数统计类不会对出现的每一个 "That"进行计数

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

我正在尝试用 Java 创建一个 hashmap 类来计算出现的每个单词。它在大多数情况下都有效,但是当我尝试使用该段落时:

"They name the baby Susan. That manager found the box empty. Donna's daughter left the door open. That musician finds the book interesting. That dentist named the dog Fido"

它会检测除“That”之外的所有其他单词的正确数量。 “That”在该段落中出现了 3 次,但仅检测到一个“That”。这是代码:

import java.util.*;

public class WordCounts extends ConsoleProgram
{
public void run()
{
HashMap<String,Integer> h = new HashMap<String,Integer>();
String input = readLine("Enter a string: ");
String[] words = input.split(" ");
for(int i=0; i<words.length; i++)
{
Integer num = h.get(words[i]);
if( num == null)
num = new Integer(1);
else
num = new Integer(num.intValue() + 1);

h.put(words[i].toLowerCase(), num);
}

printSortedHashMap(h);
}

/*
* This method takes a HashMap of word counts and prints out
* each word and it's associated count in alphabetical order.
*
* @param wordCount The HashMap mapping words to each word's frequency count
*/
private void printSortedHashMap(HashMap<String, Integer> wordCount)
{
// Sort all the keys (words) in the HashMap
Object[] keys = wordCount.keySet().toArray();
Arrays.sort(keys);

// Print out each word and it's associated count
for (Object word : keys)
{
int val = wordCount.get(word);
System.out.println(word + ": " + val);
}
}
}

如果有人能提供帮助,我将不胜感激。提前致谢。

编辑:我不小心在描述中写了“that”而不是“That”;我的意思是我试图弄清楚为什么类(class)不计算每一个“那个”。

最佳答案

嗯,可能有很多事情......如果不使用 ignoreCase(),“That”和“that”在 java 眼中是不一样的。还可以尝试使用 StringTokenizer 格式化您的字符串,这将使您的生活更轻松,代码更短。

关于java - Java 中的字数统计类不会对出现的每一个 "That"进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54754564/

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