从方法到主方法返回数组。在主要方法中引发例外

时间:2017-10-10 05:06:58

标签: java arrays exception methods

所以我试图创建一个生成随机坐标并将它们存储到数组中的函数。我创建了一个方法,创建并返回一个存储有2个随机数的数组。但是当我运行我的程序时,它会在main方法中抛出异常。我只想将数组存储在main方法中,以便稍后在算法中使用它。

public static void main (String[] args) {
    //This initializes each coordinate used
    int[] firstCoordinate = randomCoordinates();  //This is line four where
    int[] secondCoordinate = randomCoordinates(); // the exception is thrown        

    //end of main method
}

public static int[] randomCoordinates() {
     int[] newCoordinate = new int[2];
     for (int i = 0; i < newCoordinate.length; i++) {
         newCoordinate[i] = (int) (Math.random() * 100 + 1);
     }
     System.out.println("One coordinate is (" + newCoordinate[1] + ", " + newCoordinate[2] + ")");            //Exception also thrown here.
     return newCoordinate;
}

异常说明: 线程&#34; main&#34;中的例外情况java.lang.ArrayIndexOutOfBoundsException:2     在BetterDIAZR18.randomCoordinates(BetterDIAZR18.java:21)     在BetterDIAZR18.main(BetterDIAZR18.java:4)

1 个答案:

答案 0 :(得分:0)

数组索引从0开始.newCoordinate的大小为2,你不能通过newCoordinate [2]获取元素。 正确的代码是, System.out.println(&#34;一个坐标是(&#34; + newCoordinate [0] +&#34;,&#34; + newCoordinate [1] +&#34;)&#34;);