Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中计算特定字符_Java_Indexing_Char_Substring_Counting - Fatal编程技术网

在java中计算特定字符

在java中计算特定字符,java,indexing,char,substring,counting,Java,Indexing,Char,Substring,Counting,我想计算某个字符在字符串中出现的次数,在本例中是字符“a”。我知道我能做到: import java.util.Scanner; public class samsJava { public static void main(String[] args){ String testStr = "StackoverFlow Guess I'll Test The o's"; int counter = 0; for (int i = 0; i<testStr.length(); i++ ){

我想计算某个字符在字符串中出现的次数,在本例中是字符“a”。我知道我能做到:

import java.util.Scanner;
public class samsJava {
public static void main(String[] args){

String testStr = "StackoverFlow Guess I'll Test The o's";
int counter = 0;
for (int i = 0; i<testStr.length(); i++ ){
    if(testStr.charAt(i) == ('o')){
        counter++;
    }
}
System.out.println("Number of o's:" + counter);
    }
}
import java.util.Scanner;
公共类samsJava{
公共静态void main(字符串[]args){
String testStr=“StackoverFlow Guess我将测试o”;
int计数器=0;

for(int i=0;i
子字符串
将返回一个
字符串
而不是
字符

所以换成

if(inputStr.substring(i - 1, i).equals("a")){

但是方法一更好。

No
String
.equals('a')
a
char
。您可以使用
.equals('a')
,但我更喜欢类似的方法


在for循环中必须小心:

for (int i = 1; i <= inputStr.length(); i++)
                  ^

for(int i=1;我哦,该死,我的坏我用了(“”),它是为字符保留的,而不是(“”)为字符串。谢谢这是一个正确的答案,他忽略了最后一个字符!!谢谢你的否决票…你是对的(+1)。它可能因为格式问题而被否决。请详细说明哪些不起作用,您需要帮助。
for(char ch : inputStr.toCharArray()){
    if (ch == 'a'){
        counterA++;
    }
}
for (int i = 1; i <= inputStr.length(); i++)
                  ^