辜谷谷
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);
}
}
if(s.charAt(i)=='a')我用的就是==,可以编译啊
用if (s.charAt(i)=='a')是可以的
用s.charAt(i)返回的值是char类型,用==比较就可以了
==比较的是对象所在内存地址,这里应该是只需要比较字符是否相同,所以要用equals
s.charAt(i) == 'a',要有空格
Java入门第三季
409792 学习 · 4340 问题
相似问题