簡體   English   中英

為什么在嘗試輸出數組時會出現異常錯誤?

[英]Why do I get an exception error when I try output an array?

我寫了一個簡單的代碼,應該輸出一個二維數組。 這是代碼:

String month[];
int speedfines[][];

public int speedFines() {
    speedfines = new int[3][2];
    month = new String[2];

    month[0] = "JAN";
    month[1] = "FEB";
    month[2] = " MAR";

    speedfines[0][0] = 128;
    speedfines[0][1] = 135;
    speedfines[0][2] = 139;
    speedfines[1][0] = 155;
    speedfines[1][1] = 129;
    speedfines[1][2] = 175;
    speedfines[2][0] = 129;
    speedfines[2][1] = 130;
    speedfines[2][2] = 185;
    speedfines[3][0] = 195;
    speedfines[3][1] = 155;
    speedfines[3][2] = 221;

    System.out.println(Arrays.toString(speedfines));

    return 0;
}

當我運行此代碼時,它在線程錯誤中給了我 java 異常。 我正在使用 netbeans 12.0 並且我的代碼中沒有任何錯誤,但是當我運行時出現異常錯誤錯誤 有人可以向我解釋 java 異常的含義以及如何修復它(如果可能)。

問題是您為數組monthspeedfines定義的大小。

例如,您將大小2定義為並嘗試將3 個元素放入其中。 為了您的代碼正常工作,請將數組定義更改為:

speedfines = new int [4][3];
month = new String [3];
 -------------------
|      |      |     |     ⇒    Size = 3  /  month = new String [3]
 -------------------
   ↑       ↑     ↑
   0       1     2

你的month數組應該是:

month = new String[3];

當您將其設置為new String[2] ,您允許數組中有2項目。

由於您在數組中設置了3項目:

month[0] = "JAN";
month[1] = "FEB";
month[2] = "MAR";

它引發ArrayIndexOutOfBoundsException ,因為此時索引2不存在。

此外,您的數組是在函數之外定義 將它們移動到函數內。

代碼應該是:

public int speedFines() {
    int speedfines[][] = new int[3][2];
    String month[] = new String[3];

    month[0] = "JAN";
    month[1] = "FEB";
    month[2] = "MAR";

    speedfines[0][0] = 128;
    speedfines[0][1] = 135;
    speedfines[0][2] = 139;
    speedfines[1][0] = 155;
    speedfines[1][1] = 129;
    speedfines[1][2] = 175;
    speedfines[2][0] = 129;
    speedfines[2][1] = 130;
    speedfines[2][2] = 185;
    speedfines[3][0] = 195;
    speedfines[3][1] = 155;
    speedfines[3][2] = 221;

    System.out.println(Arrays.toString(speedfines));

    return 0;
}

您在數組 2dimention 中保存了 12 個項目,因此您需要執行此操作speedfines = new int [4][3]; 我認為異常名稱是 ArrayIndexOutOfBounds 顯示當您放置數組大小並為其提供大於她的大小的項目時

暫無
暫無

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

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