[問題] 寫排序的程式遇到java.lang.ArrayIndexOutOfBoundsException

看板java作者 (ㄚ達)時間18年前 (2007/08/22 14:52), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/1
public class tttt { public static void main(String args[]){ int listy[]={12,45,78,89,56,46,15,89}; sort_list(listy); String str1="排序後陣列內容如下:\n"; for(int i=0;i<8;i++) str1=str1 + String.valueOf(listy[i]) + ","; System.out.println(str1); } static void sort_list(int listy[]){ int i,j,x; for(i=0;i<7;i++){ for(j=i+1;i<8;j++){ if(listy[i]<listy[j]){ x=listy[i];listy[i]=listy[j];listy[j]=x; } } } } } 以上是完整的程式碼 寫完後,執行時,出現錯誤 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at tttt.sort_list(tttt.java:15) at tttt.main(tttt.java:4) 但我檢查了一下,我在存取時, 並沒有超出陣列的索引範圍,個數均在8個以下, 為什麼會有錯誤呢? 煩請老手糾正一下,謝謝囉~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.224.118

08/22 14:53, , 1F
第二個 for 是不是該 j<8?
08/22 14:53, 1F

08/22 15:37, , 2F
啊啊啊.....竟然犯了小錯誤.....,謝謝指正。
08/22 15:37, 2F
文章代碼(AID): #16ozqRms (java)