所以基本上,我創建了一個包含方法,它打印出正確的輸出,我需要,但它確實在這之後它給了我一個錯誤:java.lang.ArrayIndexOutOfBoundsException錯誤在Java
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at MethodTesting.main(MethodTesting.java:90)
不知道爲什麼當它顯示輸出時無後顧之憂?如果任何人都可以給我一個我在做什麼錯的想法?我的代碼在下面,我試着將長度調整爲length和length-1,如下所示。我已經寫了字符串代碼,而不是字符數組,但它不會給我正確的結果。希望有人可以擺脫一些光?
//contains method
char[] st = "Hello World".toCharArray();
char[] substr = "llo".toCharArray();
for(int contains=0; contains<st.length-1; contains++){
if(substr[contains] == st[contains]){
for(int j=contains; j<st.length-1; j++){
if(st[j] == substr[j]){
}
else{
contains = -1;
}
}
}
System.out.println("CONTAINS");
System.out.println(contains);
}
謝謝,提前!
你究竟想要做什麼? –
'if(substr [contains] == st [contains])'這一行導致問題。在你的例子中'substr'的大小爲2,但'contains'索引可以大到10. –
看起來像通過設置contains = -1,行if(substr [contains] == st [contains])將會失敗,因爲它會嘗試引用substr [-1] – vigneshre