Java 对字符串中的特定字符计数
我找不到原因来解释为什么arr[I]。charAtword不工作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
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')