作者cjdcjdc (ㄚ達)
看板java
標題[問題] 寫排序的程式遇到java.lang.ArrayIndexOutOfBoundsException
時間Wed Aug 22 14:52:10 2007
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
推 BDFishX:第二個 for 是不是該 j<8? 08/22 14:53
推 cjdcjdc:啊啊啊.....竟然犯了小錯誤.....,謝謝指正。 08/22 15:37