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.
有人可以帮我解决这个错误吗?
答案 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]);