public class HelloWorld { public static void main(String[] args) { // 定义一个字符串 String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd"; String y="a"; // 出现次数 int num = 0; // 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数 for (int x=0;x<s.length();x++ ) { // 获取每个字符,判断是否是字符a if ( (s.charAt(x)).equals(y) ) { // 累加统计次数 num++; } } System.out.println("字符a出现的次数:" + num); } }
这样写会报错,怎样用equals方法来写呢?
//你通过s.charAt(x) 返回值是char类型,而char类型并没有equals()函数,所以会报错,你可以将char类型通过String.valueOf()转成String,再来使用equals()函数。
public class HelloWorld {
public static void main(String[] args) {
// 定义一个字符串
String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
String y="a";
// 出现次数
int num = 0;
// 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数
for (int x=0;x<s.length();x++ )
{
// 获取每个字符,判断是否是字符a
if ( String.valueOf(s.charAt(x)).equals(y)
) {
// 累加统计次数
num++;
}
}
System.out.println("字符a出现的次数:" + num);
}
}
s.charAt(x)是char类型,属于基本数据类型,不能直接调用equals()方法,所以将s.charAt(x)转换为包装类就可以了,代码如下
public class HelloWorld {
public static void main(String[] args) {
// 定义一个字符串
String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
// 出现次数
int num = 0;
// 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数
for (int x=0;x<s.length();x++ )
{
Character c = s.charAt(x); //将基本类型转换为包装类
// 获取每个字符,判断是否是字符a
if ( c.equals('a') ) {
// 累加统计次数
num++;
}
}
System.out.println("字符a出现的次数:" + num);
}
}