簡體   English   中英

冒泡排序代碼:主線程異常

[英]Bubble Sort code : Exception in main thread

public class Main {

    public static void main(String[] args){

        int nums[] = {9,8,4,5,6,7};
        int temp=0;

        for(int i=0;i<nums.length;i++){
            for(int j=0;j<nums.length;j++){
                if(nums[j]>nums[j+1]){                    //swap
                    temp=nums[j];
                    nums[j]=nums[j+1];
                    nums[j+1]=temp;
                }
            }
        }

        for(int i=0;i<nums.length;i++){          //print array after sorting
            System.out.print(nums[i]+"-->");
        }
    }
}

我需要按升序對解決方案進行排序。 但是,它不斷拋出錯誤-->

線程“main”中的異常 java.lang.ArrayIndexOutOfBoundsException:索引 6 超出 Average.main(Average.java:21) 處長度 6 的范圍。

那是因為在內部循環中你迭代直到j < nums.length但隨后你訪問j+1索引nums[j+1] 將內循環替換為

for (int j = 0; j < nums.length - 1; j++) {
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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