簡體   English   中英

多維數組Java

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM