统计字母“n”和“o”在字符串want you to know one thing中出现的次数,这么写为什么不对?
public class Demo{
public static void main(String args[]){
String str="you are a boy";
char c[]=str.toCharArray();
int count1=0;
int count2=0;
for(int i =0;i<c.length;i++){
if(c.equals("n")){
count1++;
}
if(c.equals("o")){
count2++;
}
}
System.out.println("字母n出现次数为"+count1);
System.out.println("字母o出现次数为"+count2);
}
} 作者: ①人←①城市 时间: 2013-4-13 18:03 本帖最后由 ①人←①城市 于 2013-4-13 18:24 编辑
字符串无法与字符进行比较的,可以把字符转换成字符串再进行比较.
判断条件(那个c后面的\[i\]显示不出):
//先转化为字符串,注意去掉程序中的"\"符号
String value=c\[i\]+"";
if ("n".equals(value)) {
..
}
if ("o".equals(value)) {
...
}作者: 林声荣 时间: 2013-4-13 18:35
你上面的代码if(c[i].equals("n"))中调用equals()方法是String类中定义的方法,只能是String类型的才能使用,而你String str="you are a boy";char c[]=str.toCharArray();已经将字符串类型转换为字符类型,所以不得行了,
所以我们的将字符类型转换为字符串类型,一般常用方法 :字符 +""
所以代码改为: if((c[i]+"").equals("n")){
count1++;
}
if((c[i]+"").equals("o")){
count2++;
}