给定一个字符串,打印字符串中存在的字母数目。 输入: 输入的第一行包含一个表示测试用例数量的整数T. T测试用例的描述如下。每个测试用例都包含一个字符串。输出: 打印字符串中存在的字母数量。这里ArrayIndexoutofBoundsException是什么意思?
这是一个问题,我一直在eclipse上解决这个问题,但它一直在我的代码的第7行抛出ArrayIndexoutOfBoundsException。我试着理解我做错了什么,但我一直没能做到。 有人可以解释这里有什么错。我附上了代码。
public class solution {
public static void main(String[] args){
String s = "baibiasbfi" ;
int count =0;
for(int i=0;i<=s.length();i++){
char[] a= s.toCharArray();
if(a[i]>='a'&& a[i]<='z'||a[i]>='A'&&a[i]<='Z')
count++;}
System.out.println(count);
}
}
避免此异常使用I
Vaseph
基本上什么ArrayIndexOutOfBoundsException异常的意思是,你要访问您的阵列的位置'了'那超出了访问。 在这种情况下,您的字符串'baibiasbfi'有10个字符,这意味着您可以从位置0到9访问它。 当您在执行'i <= s.length()'和's'时。长度“等于数组10的大小,则您正试图访问超出范围的数组的位置10。 为了解决这个问题,从条件'i <= s.length()'中移除'=',你就可以解决你的问题了。 – aribeiro
谢谢..帮助 – jenygeorge