weixin_慕村1544409
2020-07-19 00:24
public class HelloWorld {
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);
}
}
把那个i<=s.length();去掉=号
//楼主的代码
public class HelloWorld {
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);
}
}
//运行结果
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 49
at java.lang.String.charAt(String.java:646)
at HelloWorld.main(HelloWorld.java:13)如二楼所说,也如报错所示,是字符串边界溢出,只需要去掉等号即可,即将for循环中的"i<=s.length()"改为"i<s.length()"就好。
StringIndexOutOfBoundsException
应该是i<s.length()
想不通
Java入门第三季
409775 学习 · 4546 问题
相似问题