1. 程式人生 > 其它 >使用Java陣列報錯原因java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds……

使用Java陣列報錯原因java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds……

技術標籤:java

在使用陣列時常會遇到報錯,類似這樣java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for at Main.main
經常遇到就真的有點頭疼,所以決定找出報錯原因,防止後面再出現這樣的問題。
報錯程式碼例

int[] s=new int[5];
            for(int j=0;j<=5;j++){
                 s[j]=sc.nextInt(); 
            }

報錯內容
在這裡插入圖片描述

原因

java中的陣列分配是從0到它的length-1的空間

array.length是從1開始計數,長度為5。

順序的情況下是從零開始,一直迴圈到5的時候報陣列下標越界。

逆序的情況下是從5的下標開始迴圈,沒有5這個下標array[5],所以就直接報錯。
解決辦法
我把int[] s=new int[5];改成int[] s=new int[6];錯誤解決了,雖然不知道解決辦法是否正確,但後面程式碼和結果都沒問題了……
如果有其他解決辦法,歡迎評論區留言,一起進步呀^ – ^