请问怎样用equals方法来写?

来源:2-4 Java 中的 String 类常用方法 Ⅱ

_Jack_Han_

2016-02-25 22:29

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回答

  • 慕工程1651139
    2016-02-25 23:24:27
    已采纳
    //你通过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);

        }

    }

    _Jack_...

    非常感谢!

    2016-02-26 10:02:21

    共 1 条回复 >

  • 慕移动9181930
    2022-03-22 23:36:58
  • charles93
    2016-02-25 23:42:48

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

        }

    }


    _Jack_...

    非常感谢

    2016-02-26 10:03:25

    共 1 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题