我试图找到包含偶数个字母的数据文件中所有拉丁名称中包含的唯一单词的总数。这是我到目前为止的代码:

public static void main(String[] args) {
    int evenWord = 0;
    evenWord += countEvenWord(latinName);
    System.out.print("Total number of unique even words in Latin names = ");
    System.out.println(evenWord);
}

public static int countEvenWord(String name) {
    int numberEven = 0;
    if(name.length() % 2 == 0) {
        String[] person = name.split("[^a-zA-Z]+");
        for(String token: sharks) {
            numberEven += token.length();
        }
    }
    return numberEven;
}


输出:

Total number of unique even words in Latin names = 297


该代码确实找到了所有拉丁名称中偶数字母的总数,但是我想找到数据文件中包含的唯一单词的总数。

数据文件:

David Lee:Cephaloscyllium ventriosum
Max Steel:Galeocerdo cuvier
Jimmy Park:Sphyrna mokarren
...

最佳答案

您必须使用Set<String>并将名称存储在其中。这将保留唯一性。

public static int countEvenWord(String name) {
Set<String> set = new HashSet<>();

    int numberEven = 0;
    if(name.length() % 2 == 0) {
        set.add(name);
        }
    }
    return set.size();
}


N.B:我尚未编写姓名检索逻辑。

编辑

String name = "David Lee:Cephaloscyllium ventriosum";
        Set<String> set = new HashSet<>();

            String[] sharks = name.split("[^a-zA-Z]+");
            for(String token: sharks) {
                if(token.length()%2==0)
                    set.add(token);
            }
        return set.size();

关于java - 数据文件中偶数字母的唯一单词-Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47529733/

10-08 20:41