计算Java中句子中给定字母的出现

时间:2018-11-21 10:41:49

标签: java

String sentence = JOptionPane.showInputDialog (null, "Write a sentence.");    
String letter = JOptionPane.showInputDialog(null, "Write a letter");

while (true) {

    if (letter.equals("Stop"))
        System.exit(0);    
    //to calculate number of specific character
    else {
        int countLetter = 0;
        int L = letter.length();
        for (int i = 0; i < L; i++) {
            if ((letter.charAt(i) = .....))     
                countLetter++;
        }
    }
}

是否可以替换圆点以使程序计算在第一个字符串中写入的句子中给定字母出现了多少次?

4 个答案:

答案 0 :(得分:3)

从Java 8开始,对此有一个优雅的解决方案。

int count = letter.chars().filter(ch -> ch == 'e').count();

这将返回字母'e'的出现次数。

答案 1 :(得分:0)

如果您的String字母包含一个字符,请使用此letter.charAt(0),然后用该字符替换点。另外,请记住在这里使用==而不是==表示您只是在签名,==用于比较两个值。

答案 2 :(得分:0)

如果您必须使用for循环并希望遵循老式的方法,请尝试以下操作:

    String sentence = "This is a really basic sentence, just for example purpose.";
    char letter = 'a';

    int occurrenceOfChar = 0;

    for (int i = 0; i < sentence.length(); i++) {
        if (sentence.charAt(i) == letter) {
            occurrenceOfChar++;
        }
    }

    System.out.println("The letter '" + letter
            + "' occurs " + occurrenceOfChar
            + " times in the sentence \""
            + sentence + "\"");
  

句子和字母只是示例,您必须阅读用户输入。

答案 3 :(得分:0)

您可以使用Guava Lib更快地执行此操作,而无需迭代字符串。

read

将返回 3