计算字符串中的特定字符

时间:2018-09-02 17:24:28

标签: java string char counting

如何计算字符串中的特定字母? 到目前为止,这是我的代码:

公共类主要{

public static void main(String args[]) {
    Scanner sc = new Scanner (System.in);
    System.out.println("Type in a word: ");
    String str1 = sc.nextLine();
    System.out.println("Type in a letter in the word you want to look for");
    String str2 = sc.nextLine();
    int count = 0;
    for(char c : str1.toCharArray()) {
        if(c == 0) {
            count++;
        }
    }System.out.println("There are " + count + " " + str2 + " in the word " + str1);

}

显示为: 输入一个单词:hello

在您要查找的单词中输入字母:l

你好单词中有0 l

我的代码怎么了?

2 个答案:

答案 0 :(得分:1)

将字符串转换为char数组,然后对其进行迭代以找出给定char的出现次数。

int count = 0;
for (char d : str1.toCharArray()){ 
    if(d == c)
        count++;
}

您还可以使用正则表达式查找计数。但随后您将无法使用nextLine().charAt(0),而必须使用next()

String c = sc1.next();

int count = 0;
Pattern pattern = Pattern.compile(c);
Matcher matcher = pattern.matcher(str1);
while (matcher.find())
    count++;

最后将其打印出来。

System.out.println("There are " + count + " " + c + " in the word " + str1);

答案 1 :(得分:-2)

方法如下:当char匹配时,您可以循环遍历charArray和递增计数器。

public static void main(String args[]) {
            String number = "hello";
            int count = 0;
            for(char ch : number.toCharArray()) {
                if(ch == 'l') {
                    count++;
                }
            }
            System.out.println(count);
}