日期:2014-05-20  浏览次数:20689 次

自学菜鸟求解,关于数组长度使用方面~
Java code

        public static void printInfo(int x[], int y[])
    {
    //    int a = x.length;
    //    int b = y.length;
        if ( x.length < y.length)
    //    if ( a < b)
    //    a = b;
        int a = y.length;
        for (int m = 0;m <= a;m++)
        System.out.print("-------");
        System.out.println();
    }


这是代码,发现如果不用注释掉的内容判断数组长度大小的话,就会报错,如下:

i.java:45: '.class' expected
  int a = y.length;
  ^
i.java:45: not a statement
  int a = y.length;
  ^
2 errors

求教这是为啥啊?在csdn受益匪浅,终于鼓起勇气提个问题了~~

------解决方案--------------------
if ( x.length < y.length){}
// if ( a < b)
// a = b;
int a = y.length;
------解决方案--------------------
额,这个跟静态的应该没有关系
if如果不加{},默认以一行作为{}里的内容(遇到;就为1行)
好像这样
Java code

if(1==1)
   int a=1;

------解决方案--------------------
探讨
这样直接就会编译错误,至于原因不清楚,可能是因为 规范问题,它检测到这样是没有任何意义的,
因为如果在方法里 if不带{},定义了一个局部变量在方法里,因为只有1行,所以这个局部变量不存在意义