所以我试图创建一个生成随机坐标并将它们存储到数组中的函数。我创建了一个方法,创建并返回一个存储有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)
答案 0 :(得分:0)
数组索引从0开始.newCoordinate的大小为2,你不能通过newCoordinate [2]获取元素。 正确的代码是, System.out.println(&#34;一个坐标是(&#34; + newCoordinate [0] +&#34;,&#34; + newCoordinate [1] +&#34;)&#34;);