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

为什么用if ( s.charAt(i)=='a' )不能编译,

为什么用if (    s.charAt(i)=='a'             )不能编译,

用if ( s.substring(i,i+1).equals("a")  就可以,

在这个题目中

public class java3 

{

   public static void main(String[] args) {

String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";

      String b="a"; 

        // 出现次数

int num = 0;

        

         // 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数

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

{

            // 获取每个字符,判断是否是字符a

if ( s.substring(i,i+1).equals("a")         ) {

                // 累加统计次数

num++; 

}

}

System.out.println("字符a出现的次数:" + num);

}

}


正在回答

4 回答

if(s.charAt(i)=='a')我用的就是==,可以编译啊

0 回复 有任何疑惑可以回复我~

用if (s.charAt(i)=='a')是可以的

http://img1.sycdn.imooc.com//58b0f05d00012a3106640839.jpg

用s.charAt(i)返回的值是char类型,用==比较就可以了

0 回复 有任何疑惑可以回复我~

==比较的是对象所在内存地址,这里应该是只需要比较字符是否相同,所以要用equals

1 回复 有任何疑惑可以回复我~

s.charAt(i) == 'a',要有空格

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么用if ( s.charAt(i)=='a' )不能编译,

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信