java.lang.ArrayIndexOutOfBoundsException是什么意思?

我是java的新手,今天我开始研究数组而且我迷路了。 我试图在数组中放入一些值,但我收到错误java.lang.ArrayIndexOutOfBoundsException

这是我到目前为止所做的。

  int n=6; int[]A= new int [1]; for(i=0;i<n;i++){ A[i]=keyboard.nextInt(); } 

java.lang.ArrayIndexOutOfBoundsException表示您正在尝试访问不存在的数组索引。

问题是你的数组大小为一。但是,你经历了六次这个循环。 您可以使n等于1,也可以增加数组的大小。

问题是你的数组的大小是一个。 您可以在数组声明的括号之间设置数组的大小。

你的for循环去了6次。 您可以将数组的大小更改为6。

int n = 6;

  int[]A= new int [6]; for(i=0;i<=n;i++) { A[i]=keyboard.nextInt(); } 

它意味着什么。 您正在尝试访问已定义的数组范围之外的元素。

你的数组new int [1]; 只会持有一个元素。 我认为你的意思是int [n];

您正在尝试访问您无权访问的内存。 您的数组声明大小为1,并且您设置的是n = 6.因此,遍历数组A,您将尝试访问尚未声明的数组的5个虚构位置。 因此,数组索引超出范围。

你可能想要的是这个:

  int n=6; int[]A= new int [n]; for(i=0;i 

在这里,您已声明数组的大小为1,但您将遍历数组6次。

在你的for循环中你应该写

 for (int i=0; i< A.length; i++ ){ A[i]=keyboard.nextInt(); } 

所以在这种情况下,你的循环只会遍历一次。

java.lang.ArrayIndexOutOfBoundsException表示您正在尝试访问不存在的数组索引。 例如,你有一个arrays

  int []array=new int[3]; 

如果您尝试访问数组[4],它将为您提供ArrayIndexOutOfBoundsException。 最重要的是,只要您访问数组OUT OF ITS BOUND,您就会得到此exception。

:d

每当您收到错误时,请务必先查看其API。 例如, 这里是ArrayIndexOutOfBoundException的文档。

在你的代码中,你通过说new int [1]来创建一个大小为1的数组,现在当你遍历数组并检查A[1]的值时,你正试图访问数组的第二个元素,这不是’ t甚至存在,因为数组索引从0开始。因此, 您正在访问索引是超出界限