簡體   English   中英

Java二維數組擴展

[英]java two-dimensional array out of extension

我有這個簡單的代碼:

double[][] params = new double[][]{{197.0,258.0,427.0,426.0,507.0,524.0,386.0},
    {345.0,473.0,484.0,422.0,406.0,291.0,289.0}};       

for (int i = 0; i <= params.length; i++) {
    for (int j = 0; j <= params[i].length; j++) {
        System.out.println("Coordinates: " + params[i][j]); //line 29       
    }
}

和錯誤:

> Caused by: java.lang.ArrayIndexOutOfBoundsException: 7    at
> com.eyecom.gen.generate_xml(gen.java:29)  

為什么會出現此異常?

在Java中,數組是從零開始的。 在這里,您超出了數組范圍。 采用

for (int i = 0; i < params.length; i++) {
    for (int j = 0; j < params[i].length; j++) {

嘗試

for (int i = 0; i < params.length; i++) {
    for (int j = 0; j < params[i].length; j++) {
        System.out.println("Coordinates: " + params[i][j]); // line 29
    }
}

數組中的索引從0length-1所以您不想使用等於length索引。

更改for循環結構

 for (int i = 0; i <= params.length; i++) {
    for (int j = 0; j <= params[i].length; j++) {
        System.out.println("Coordinates: " + params[i][j]); //line 29               
    }
}

for (int i = 0; i < params.length; i++) {
    for (int j = 0; j < params[i].length; j++) {
        System.out.println("Coordinates: " + params[i][j]); //line 29               
    }
}

暫無
暫無

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

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