当前位置: 代码迷 >> Java相关 >> [求助]请务必高抬贵手!
  详细解决方案

[求助]请务必高抬贵手!

热度:111   发布时间:2006-11-07 13:37:17.0
[求助]请务必高抬贵手!

各位师兄,小弟在编的一个简单的小程序出现以下情况,令小弟百思不得其解,请各位帮助
public class TestJ
{
public static void main(String[] args)
{

int[][] a={
{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
};
for(int i=0;i<a.length;i++)
for(int j=0;j<a[i].length;j++)
if(a[i][j]==10)
a[i][j]=0;
System.out.println(a);
}
}
结果: [[I@@198dfaf


如果改为:System.out.println(a[i][j])

则出现以下错误:

TestJ.java:15: cannot resolve symbol
symbol : variable i
location: class TestJ
System.out.println(a[i][j]);
^
TestJ.java:15: cannot resolve symbol
symbol : variable j
location: class TestJ
System.out.println(a[i][j]);
^
2 errors

搜索更多相关的解决方案: 高抬贵手  public  void  

----------------解决方案--------------------------------------------------------
你的for没有加大括号,加大括号就没事了
因为不加大括号,它的范围只能管到下面一句,所以,System.out就不在它们的范围了

----------------解决方案--------------------------------------------------------
以下是引用千里冰封在2006-11-7 14:18:48的发言:
你的for没有加大括号,加大括号就没事了
因为不加大括号,它的范围只能管到下面一句,所以,System.out就不在它们的范围了

我觉得这样还不行,应把输出语句改成 System.out.println(a [ i ][ j ]);

java中对数组的输出不能直接使用数组名,否则返回的是数组的起始地址。


----------------解决方案--------------------------------------------------------
你要的输出结果是什么样的?我把你的程序改了下,不知道是不是你想要的输出结果。

public class TestJ
{
public static void main(String[] args)
{

int[][] a={
{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
};
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++) {
if(a[i][j]==10)
a[i][j]=0;
System.out.println(a[i][j]);
}

}

}
}

输出结果:
1
2
3
4
5
6
7
8
9
0
11
12
13
14
15
Press any key to continue...
----------------解决方案--------------------------------------------------------
以下是引用fancyboy5150在2006-11-7 17:30:20的发言:

我觉得这样还不行,应把输出语句改成 System.out.println(a [ i ][ j ]);

java中对数组的输出不能直接使用数组名,否则返回的是数组的起始地址。

就是这样意思


----------------解决方案--------------------------------------------------------

谢谢各位,我明白了


----------------解决方案--------------------------------------------------------