为了账号安全,请及时绑定邮箱和手机立即绑定

如何计算一个字母在数组的所有字符串中出现的次数?

如何计算一个字母在数组的所有字符串中出现的次数?

慕盖茨4494581 2021-11-11 13:42:21
public static int countLetter(String[] x, String y){    int count = 0;    for(int i = 0; i < x.length; i++){        for(int h = 0; h < x[i].length(); h++){            String yo = new String(x[i].substring(h,h+1));            if(yo==y){                count++;}            }        }        return count;    }}我的方法应该返回一个整数,该整数计算字母在数组的所有字符串中出现的总次数。(假设字符串是一个字母,我不能使用 charAt())。
查看完整描述

2 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

您可以在第 6 行更改代码

if(yo==y)

if(yo.equals(y))


查看完整回答
反对 回复 2021-11-11
?
森林海

TA贡献2011条经验 获得超2个赞

问题在于字符串比较。您需要使用equals()或者可能equalsIgnoreCase()在比较 Java 中的 2 个字符串时:


public static int countLetter(String[] x, String y) {

   int count = 0;

   for (int i = 0; i < x.length; i++) {

      for (int h = 0; h < x[i].length(); h++) {

         String yo = new String(x[i].substring(h, h + 1));

         if (yo.equals(y)) {

            count++;

         }

      }

   }

   return count;

}

你也可以用一个char代替String:


public static int countLetter(String[] x, char y) {

   int count = 0;

   for (int i = 0; i < x.length; i++) {

      for (int h = 0; h < x[i].length(); h++) {

         if (x[i].charAt(h) == y) {

            count++;

         }

      }

   }

   return count;

}


查看完整回答
反对 回复 2021-11-11
  • 2 回答
  • 0 关注
  • 224 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信