import java.lang.*;
class Test
{
public static void main(String[] args)

 int [][] xy = new int[10][10];
 for(int i=0;i<=9;i++)
 {
  for(int y=0;y<=9;y++)
  xy[i][y] = i*y;
 System.out.println("x["+i+"]y["+y+"]="+xy[i][y]);
 }
}
}如果不要这句 xy[i][y] = i*y;系统就能正常编译运行,但是加了这句,编译器提示y没有声明?不知是什么原因? 

解决方案 »

  1.   

    这句System.out.println("x["+i+"]y["+y+"]="+xy[i][y]);里面的y没有申明
      

  2.   

    import java.lang.*;
    class Test
    {
    public static void main(String[] args)

     int [][] xy = new int[10][10];
     for(int i=0;i<=9;i++)
     {
      for(int y=0;y<=9;y++)
               { 
                         xy[i][y] = i*y;
                System.out.println("x["+i+"]y["+y+"]="+xy[i][y]);// y is ok
                        }
     }
    }
    }
      

  3.   

    那个y只在内层的for语句里声明了,但没在外层的for语句里声明  OK?
      

  4.   

    y是局部变量,只在for内可用。