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

各位大神,题目是:统计指定字符串中字符 ‘a’ 出现的次数...为什么if ( s[i]=="a") 不可以,要改成if(s.charAt(i))=='a')????

public class HelloWorld {
    public static void main(String[] args) {
		// 定义一个字符串
		String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
        
        // 出现次数
		int num = 0;
        
         // 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数
		for (  int i=0;i<s.length();i++  )
		{
            // 获取每个字符,判断是否是字符a
			if ( s[i]=="a") {
                // 累加统计次数
				num++; 
			}
		}
		System.out.println("字符a出现的次数:" + num);
	}
}


正在回答

5 回答

你这个s是个字符串,不是数组啊!不是数组不可以这样写,得先定义数组

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

一个是赋值,一个是检索特定的值

0 回复 有任何疑惑可以回复我~
@Test
	public void test1() {
		// 定义一个字符串
		String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
		char[] s2 = s.toCharArray();
		char t = 'a';

		// 出现次数
		int num = 0;

		// 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数
		for (int i = 0; i < s.length(); i++) {
			// 获取每个字符,判断是否是字符a
			if (s2[i] == t) {
				// 累加统计次数
				num++;
			}
		}
		System.out.println("字符a出现的次数:" + num);
	}

char类型的数据只能和char类型的进行匹配

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

首先是代码语法问题,java的String类型不支持[]取单个元素的,这是C/C++的语法,再者"a"是一个字符串,'a'是一个字符,两个是不一样的,字符串比较要用equal方法

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

举报

0/150
提交
取消

各位大神,题目是:统计指定字符串中字符 ‘a’ 出现的次数...为什么if ( s[i]=="a") 不可以,要改成if(s.charAt(i))=='a')????

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