2014-10-20 231 views
-4
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]); 
+6

请。格式化。 – 2014-10-20 20:36:32

+0

语法错误。请更正问题 – Victor2748 2014-10-20 20:38:19

+0

您可以使用大括号来格式 – 2014-10-20 20:39:03

回答

2

在这种情况下,你正在做数组[后],数组的大小是==,并且不是有效的索引。数组从0到(大小-1)。

int rear = m - 1; 

试试看。

0

int rear = m; 

应该

int rear = m - 1; 

因为Java数组在0启动,它总是出界试图在array.length访问的元素。您也可以使用Arrays.toString(int[])来打印您的数组;

System.out.println(Arrays.toString(array));