給定一個字符串,打印字符串中存在的字母數目。 輸入: 輸入的第一行包含一個表示測試用例數量的整數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