请问下面这个写法怎么不对?

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

雪梨儿

2016-04-06 14:53

不是说字符串相当于一个数组,判断字符是否为 'a' 的时候为什么不能用 if(s[i]=='a')c ?

写回答 关注

4回答

  • 流逝的回忆已成空白
    2016-05-23 17:34:48

    package test;

    public class HelloWorld2 {

        public static void main(String[] args) {

    // 定义一个字符串

    String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";

    //        byte[] b = s.getBytes();

            // 出现次数

    int num = 0;

            

             // 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数

    for (int i = 0 ; i < s.length() ; i ++){


    System.out.println();

    // 获取每个字符,判断是否是字符a

    if ((s.charAt(i)+"").equals("a")) {

    // 这里先将char类型自动转换成String类型 然后使用.equals 方法进行比较 这种方法就可以了

                    // 累加统计次数

    num ++; 

    }

    }

    System.out.println("字符a出现的次数:" + num);

    }

    }


    雪梨儿 回复流逝的回忆已...

    好的 谢谢

    2016-07-11 20:11:37

    共 2 条回复 >

  • 哈哈111111111111111
    2016-04-13 21:28:18

    public class HelloWorld {

        public static void main(String[] args) {

    // 定义一个字符串

    String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";

            

            // 出现次数

    int num = 0;

            char y='a';

            

             // 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数

    for (int i=0;i<s.length();i++)

    {

                // 获取每个字符,判断是否是字符a

    if (s.charAt(i)==y) {

                    // 累加统计次数

    num++; 

    }

    }

    System.out.println("字符a出现的次数:" + num);

    }

    }


  • Paul666
    2016-04-06 15:10:00

     byte[] m=s.getBytes();

     if(m[i]=='a')

  • Paul666
    2016-04-06 15:08:58

    可以的,你是不是漏写了  byte[] i=s.getBytes();

    Paul66... 回复雪梨儿

    我又写的,你看见没。。前面byte[] m=s.getBytes(); 后面if(m[i]=='a')

    2016-04-06 15:56:50

    共 2 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题