我的Java程序'.class'出错了

时间:2011-08-23 11:48:44

标签: java

class TwoDimArryAlloc {
  public static void main(String[] args) {
       int itemno[][] = new int[][] {  {2234,2235,2236,2237,2238}  ,   {3334,3335,3336,3337,3338}  };
       int it;

       String itemdesc[][] = new String[][] {{"Womans Item1","Womans Item2","Womans Item3","Womans Item4","Womans Item5"},{"Mans  Item1","Mans Item2","Mans Item3","Mans Item4","Mans Item5"}};


       for (int i=0; i<2; i++)
       {
           for(int j=0; j<5; j++)
           {
               System.out.println(itemno[][]);
           }
       }
  }
}

在上面的程序中,我收到以下错误:

C:\Java Programs\TwoDimArryAlloc.java:18: '.class' expected
                System.out.println(itemno[][]);
                                             ^
1 error

Process completed.

有人可以帮我解决这个错误吗?

5 个答案:

答案 0 :(得分:1)

您需要提供数组索引:

System.out.println(itemno[i][j]);
                          ^  ^

答案 1 :(得分:1)

而不是

System.out.println(itemno[][]);

你想说

System.out.println(itemno[i][j]);

如果没有指定你想要的索引,那么语法就会很糟糕,这会让编译器感到非常困惑,以至于它会发出一条难以理解的错误信息。

(编译的第一步是构造一个语法树,这在编译器确定哪些名称表示类型以及哪些名称表示变量之前发生。所以当它看到itemno[][]时,它会导致这个如果itemno只是一个类型的名称,那么可能是有效表达式的开头,但在这种情况下,完整表达式必须是itemno[][].class - 这就是它所要求的即使你的意思完全不同了。)

答案 2 :(得分:1)

{
    int itemno[][] = { {2234,2235,2236,2237,2238}  ,   {3334,3335,3336,3337,3338}  };
    int it;

    String itemdesc[][] = {{"Womans Item1","Womans Item2","Womans Item3","Womans Item4","Womans Item5"},{"Mans  Item1","Mans Item2","Mans Item3","Mans Item4","Mans Item5"}};


    for (int i=0; i<2; i++)
    {
        for(int j=0; j<5; j++)
        {
            System.out.println(""+itemno[i][j]); 
        }




    }
}

答案 3 :(得分:0)

您忘记在SYSO语句中提供索引。如下:

System.out.println(itemno[i][j]);

答案 4 :(得分:0)

您忘记使用索引:

System.out.println(itemno[i][j]);