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

请问怎样用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 ( (s.charAt(x)).equals(y)  ) {
                // 累加统计次数
				num++; 
			}
		}
		System.out.println("字符a出现的次数:" + num);
	}
}

这样写会报错,怎样用equals方法来写呢?

正在回答

3 回答

//你通过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);

    }

}

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

_Jack_Han_ 提问者

非常感谢!
2016-02-26 回复 有任何疑惑可以回复我~
0 回复 有任何疑惑可以回复我~

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);

    }

}


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

_Jack_Han_ 提问者

非常感谢
2016-02-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409789    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

请问怎样用equals方法来写?

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