java - JAVA中如何判断字符串数组中的单词是否相等

标签 java arrays string sorting

这应该很简单(我认为),但我就是做不对...:|

任务如下:

要求用户输入一些信息。输入必须拆分成单个单词并放入数组中。所有的话都应该计算在内。如果存在相同的词,则它们在输出中获得“+1”。 最后我想打印出列表中正确数量的计数单词。我把前两列写对了,但是等字数的字数统计让我很头疼。如果发现一个词相等,则它不能在生成的列表中出现两次! :!

我是一个完整的 JAVA 新手,所以请在代码判断方面保持友好。 ;)

到目前为止,这是我的代码:

package MyProjects;

import javax.swing.JOptionPane;

public class MyWordCount {
public static void main(String[] args) {

    //User input dialog
    String inPut = JOptionPane.showInputDialog("Write som text here");

    //Puts it into an array, and split it with " ".
    String[] wordList = inPut.split(" ");

    //Print to screen
    System.out.println("Place:\tWord:\tCount: ");

    //Check & init wordCount
    int wordCount = 0;

    for (int i = 0; i < wordList.length; i++) {

        for (int j = 0; j < wordList.length; j++){

            //some code here to compare
            //something.compareTo(wordList) ?

        }

        System.out.println(i + "\t" + wordList[i]+ "\t" + wordCount[?] );
    }

}
}

最佳答案

您可以使用 Hashmap 来做到这一点。 Hashmap 存储键值对,每个键必须是唯一的。

因此,在您的情况下,键将是您拆分的字符串中的一个词,而值将是它的计数。

将输入拆分为单词并将它们放入字符串数组后,将第一个单词作为键放入 Hashmap,将 1 作为它的值。对于每个后续单词,您可以使用函数 containsKey() 将该单词与 Hashmap 中的任何现有键匹配。如果它返回 true,则将该键的值(计数)增加 1,否则将单词和 1 作为新的键值对放入 Hashmap。

关于java - JAVA中如何判断字符串数组中的单词是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12377803/

相关文章:

javascript - 在javascript中的不同索引上连接两个数组

MYSQL:自写字符串操作函数返回意外结果

string - 字符、代码点、字形和字素之间有什么区别?

java - 在 Eclipse 中自动生成方法响应

java - 需要一种通用的方法来为 Windows 8 Store、Iphone 和 Android 编写数组

java - 在java中显示打乱的整数数组

javascript - 如何将字符串变成变量

Java n 数组中最年轻和最老的

java - 如何使用FileInputStream和BufferReader实现RandomAccessFile的seek()和getFilePointer()?

java - 为什么-Xrs会降低性能