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

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

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

正在回答

4 回答

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

}

}


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

雪梨儿 提问者 回复 流逝的回忆已成空白

好的 谢谢
2016-07-11 回复 有任何疑惑可以回复我~

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

}

}


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

 byte[] m=s.getBytes();

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

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

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

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

雪梨儿 提问者

加上这句还是不对,我在for循环里定义过i了,这里不能再重新定义
2016-04-06 回复 有任何疑惑可以回复我~
#2

Paul666 回复 雪梨儿 提问者

我又写的,你看见没。。前面byte[] m=s.getBytes(); 后面if(m[i]=='a')
2016-04-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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