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

怎么老是报异常

public class ZiFuChuan{

    public static void main(String[] args) {

// 定义一个字符串

String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";

        

        // 出现次数

int num = 0;

        

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

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

{

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

if (s.charAt(i) == 'a'){

                // 累加统计次数

num++; 

}

}

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

}

}


正在回答

3 回答

i<=s.length()  这有错误,因为数组和字符串都是从0开始计算,应该i<s.length() 或者 i<= s.length()-1

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

上面说的对,你这样写会报数组下标越界的异常

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

i<=s.length()  这有错误,因为数组中以【0】开始,而字符串从1开始计算!应该i<s.length() 或者 i<= s.length()-1

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

吉大头

下标都是0开始
2018-09-03 回复 有任何疑惑可以回复我~
#2

时代花园

既然指出了问题所在,有为什么说字符串从1开始计算,不矛盾吗?只要是下标,都是从0开始计算
2018-09-14 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

怎么老是报异常

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