[英]Multidimensional arrays java
有人能幫我嗎? 我是Java編程的新手,不知道如何對多維數組進行冒泡排序。 我正在嘗試獲取排序數組{{1,8,48,55},{75,88,98,103}},這是我的代碼:
int[][] arr2 = {{98,8,103,55}, {88,48,75,1}};
for (int i = 0; i < arr2.length; i++)
{
for (int j = 0; j < arr2[i].length; j++)
{
for (int k = 0; k < arr2[i].length; k++)
{
for (int l = 0; l < arr2[j].length; l++)
{
if(arr2[j][l] > arr2[j][l+1])
{
int tmp = arr2[j][l];
arr2[j][l] = arr2[j][l+1];
arr2[j][l+1] = tmp;
}
}
}
}
}
而且我收到一條錯誤消息“線程“主”中的異常java.lang.ArrayIndexOutOfBoundsException:4”
for (int l = 0; l < arr2[j].length; l++)
l循環到最大索引arr2 [j]。
if(arr2[j][l] > arr2[j][l+1])
arr2[j][l] = arr2[j][l+1];
現在保證前面提到的循環的最后一次迭代會崩潰,因為l + 1會自動超出范圍,這是因為您沒有在循環中進行修改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.