Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么这里有数组越界异常?_Java_Arrays - Fatal编程技术网

Java 为什么这里有数组越界异常?

Java 为什么这里有数组越界异常?,java,arrays,Java,Arrays,您正在执行array[rear],在本例中,rear是数组大小的==并且不是有效索引。数组的大小从0变为-1 int m; Scanner obj=new Scanner(System.in); System.out.println("limit of array start from 0"); m=obj.nextInt(); int[] array=new int[m]; int[] pro=new int[m]; int front=0; int rear=m; System.out

您正在执行array[rear],在本例中,rear是数组大小的==并且不是有效索引。数组的大小从0变为-1

int m;
Scanner obj=new Scanner(System.in);
System.out.println("limit of array start from 0");
m=obj.nextInt();

int[] array=new int[m];
int[] pro=new int[m];
int front=0;

int rear=m;

System.out.println("Array element entry");
for(int i=0;i<array.length;i++)
    array[i]=obj.nextInt(); 

System.out.println("size"+array.length);

array[front]=array[front]+array[rear];

for(int j=0;j<pro.length;j++)
    System.out.println(" the array"+array[j]); 
试试这个。

这个

int rear = m - 1;
应该是

int rear = m;
因为Java数组从0开始,并且尝试访问array.length的元素总是超出范围

此外,您还可以使用打印阵列

int rear = m - 1;

请格式化。语法错误。请更正问题。您可以使用花括号来格式化您的循环,因为它没有背景。
System.out.println(Arrays.toString(array));