我想将String输入与char [] List进行比较。如果字符串中的字母等于char [] List,则计数应该迭代,但它总是打印出来0.谢谢!
char[] List={'a','b','c','d'};
int count=0;
for(int i=1;i<List.length-1;i++){
if(input.charAt(i)==List[i]){
count++;
}
}
System.out.println(count);
答案 0 :(得分:2)
数组索引从0开始并上升到n-1,所以你的循环应该是:
for(int i=0;i<List.length;i++){
if(input.charAt(i)==List[i]){//assuming you have same number of characters in input as well as List and you want to compare ith element of input with ith element of List
count++;
}
}
如果您需要将输入中的元素与列表中的任何字符进行比较,那么您可以执行以下操作:
if (input.indexOf(List[i], 0) >= 0) {
count++;
}
答案 1 :(得分:0)
您正在跳过List
数组的第一个和最后一个字符,除此之外,您只将第i个输入字符与List
中的第i个字符进行比较阵列。您需要一个嵌套循环,以便将输入String的所有字符与List
数组的所有字符进行比较。
char[] List={'a','b','c','d'};
int count=0;
for(int i=0;i<List.length;i++){
for (int j=0;j<input.length();j++) {
if(input.charAt(j)==List[i]){
count++;
}
}
}
System.out.println(count);