if语句中为什么错误?
equals()方法本身返回的就是一个boolean类型的值,即true和false 。你的if里面就等价于a[i]==true或者a[i]==false 这本身就是错误的.
代码里有两个问题:
1, for 语句中的i 应该赋初值为0 应写成 int i = 0;
2, 在java里要获取一个char , 得用s.charAt(i) 语句, python 可以用s[i] ; 而且char之间比较得用==, 不能用.equals 应写成 s.charAt(i)=='a'
equals()方法
比较的是对象的引用是否指向同一块内存地址。
可以通过重写来实现比较两个对象的值是否相同。
“==”用来比较引用数据类型时,也是比较内存地址。
需要注意的是:因为在String、Double等封装类中,已经重载(overriding)了Object类的equals()方法,是进行内容的比较。
你这个s变量是字符串吧?字符串取每个字符可以用s.charAt(i)=='a'这样来判断。charAt()返回的是char类型,用==比较
s[i].equals('a') ,不要双等号
int i 没有赋初始值
直接 s[i].equals('a') 不需要 s[i] == xxx