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

来源:2-4 Java 中的 String 类常用方法 Ⅱ

辜谷谷

2017-02-24 17:31

为什么用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回答

  • 桥米
    2017-03-13 15:13:47

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

  • 慕粉1633222867
    2017-02-25 10:51:03

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

    http://img.mukewang.com/58b0f05d00012a3106640839.jpg

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

  • ziom
    2017-02-25 08:42:26

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

  • 莫斜_04062935
    2017-02-24 18:07:38

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

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题