计算字符串中的字符

问题描述:

我是Java新手,我想知道如何计算字符串Hello中的l s的数量? 任何帮助将非常感激。计算字符串中的字符

public int countChar(String s, char c) 
{ 
    String st= s; 
    char ch =c; 
    int counter = 0; 
    for(int i=0; i<st.length(); i++) 
    { 
     if(st.charAt(i) == ch) 
     { 
      counter++; 
     } 
    }  
    return counter; 
} 

public static void main(String[] args) 
{ 
    new Loop().countChar("Hello", 'l');   
} 
+5

答案是2 :)无论如何,具体是什么不工作这段代码? – Ryan 2012-02-21 01:15:22

+1

那么你发布的代码有什么问题? :) – Alfabravo 2012-02-21 01:16:29

+0

如果您想知道为什么没有打印到控制台,您不打印任何内容到控制台('System.out.println')。 – 2012-02-21 01:18:03

这应该是您正常工作 - 如果你想打印结果,改变main这样:

public static void main(String[] args) 
{ 
    int count = new Loop().countChar("Hello", 'l'); 
    System.out.println("The count is: " + count); 
} 
+0

感谢您的重播。对此,我真的非常感激。 – user1172575 2012-02-21 01:29:00

尝试用下面的代码:

公共类CharacterCout {

public static int getCharacterCount(String string, char character) { 
    int counter = 0; 
    for(int i=0;i<string.length();i++) { 
     if(string.charAt(i)==character){ 
      counter++; 
     } 
    } 
    return counter; 
} 

public static void main(String[] args) { 
    String string = "Hello World!"; 
    char character = 'l'; 
    System.out.println("Character "+character+" count: " +getCharacterCount(string, character)); 
} 

}

public String twoOccurrences(String stringa, char stringb) { 
    int counter = 0; 
    for (int i = 0; i < stringa.length(); i++) { 
     if (stringa.charAt(i) == stringb) { 
      counter++; 
     } 
    } 
    if (counter >= 1) { 
     return "" + counter; 
    } else { 
     return "There is no matching letters"; 
    } 
} 

public void testOcurrences() { 
    char stringb = 'a'; 
    String stringa = "Banana"; 
    System.out.println("String a is :" + stringa); 
    System.out.println("String b is :" + stringb); 
    String occurrence = twoOccurrences(stringa, stringb); 
    System.out.println("There is " + occurrence + " '" + stringb + "' in " + stringa); 
} 

}