Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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 - Fatal编程技术网

Java 对字符串中的特定字符计数

Java 对字符串中的特定字符计数,java,Java,我找不到原因来解释为什么arr[I]。charAtword不工作 public static void main(String[] args) { String [] arr = {"121", "333", "333"}; int count = 0; int word = 0; for (int i = 0; i < arr.length; i++) { for (word = 0; word<arr[i].length(); wo

我找不到原因来解释为什么arr[I]。charAtword不工作

public static void main(String[] args) {
    String [] arr = {"121", "333", "333"};
    int count = 0;
    int word = 0;
    for (int i = 0; i < arr.length; i++) {
        for (word = 0; word<arr[i].length(); word++) {
            if (arr[i].charAt(word) == 1) { //this line gives me trouble
                count++;
                System.out.println(count);
            }
        }
    }
}
为什么不是呢?

charAt返回一个字符,因此在将其作为字符进行比较时,需要在单引号中加上1,如下所示:

你不是在比较一个字符和一个字符,你是在比较一个字符和一个整数。这恰好是合法的,因为字符是数字,在内部非常简单,当然不仅仅是数字

将行更改为:

if(arr[i].charAt(word)== '1')
注意引号

if(arr[i].charAt(word)== '1')