java错误之字符串索引超出边界
在写代码:统计字符串中某个字符出现的次数时,运行时出现了如下错误
代码如下:
package Lab4real;
import java.util.Scanner;
public class Fifth {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String s=scan.next();
int sum=0;
System.out.println("要统计的字符是:");
char character=scan.next().charAt(0);
for(int i=0;i<=s.length();i++) {
if(character==s.charAt(i))
sum++;
}
System.out.println("字符"+character+"出现的次数为:"+sum);
}
}
百度了一下发现是字符串索引超出边界,
对诸如 charAt
的一些方法,当索引等于字符串的大小时,也会抛出该异常。
错误就发生在for循环里
把i<=s.length()中的=删去后就运行通过了。