代码之家  ›  专栏  ›  技术社区  ›  lolhaha

Java:使用charAt将输入与char数组进行比较

  •  1
  • lolhaha  · 技术社区  · 9 年前

    我想将字符串输入与char[]列表进行比较。如果字符串中的一个字母等于char[]列表,则计数应该迭代,但它总是输出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);
    
    2 回复  |  直到 9 年前
        1
  •  2
  •   SMA    9 年前

    数组索引从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++;
     }    
    
        2
  •  0
  •   Eran    9 年前

    您正在跳过 List 数组,除此之外,您只将第i个输入字符与 列表 大堆为了将输入字符串的所有字符与 列表 大堆

    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);
    
    推荐文章