public class Arrays 

public static void main (String [] args) 

int[] a1 = {1,2,3,4,5}; 
int[] a2; 
a2=a1; 
for(int i=0;i<a2.length;i++) 
a2[i]++; 
//System.out.println("a2["+i+"]"+a2[i]);//为什么加这句和会报错? 
for(int i=0;i<a1.length;i++) 
System.out.println("a1["+i+"]"+a1[i]); } 

本来没那句的,只是我想加来看一下,但它报错,我不是很懂为什么。
如果我一定要加一句这样的,该怎么改?
谢谢

解决方案 »

  1.   

    改成
    for(int i=0;i <a2.length;i++){  
    a2[i]++;  
    System.out.println("a2["+i+"]"+a2[i]);//为什么加这句和会报错?
    }
    就可以了。
    变量i只在循环体内部起作用,所以“System.out.println("a2["+i+"]"+a2[i]);”必须放在循环体内部,否则i就是未定义的。