2014-10-20 221 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));