我正在尝试使用方法创建一个表,并且我的逻辑错误或堆栈溢出导致我的问题,这是我正在尝试创建的...
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
这就是我得到的
1 1 1 1 1
2 2 2 2 2
1 2 3 2 1
2 2 2 2 2
1 1 1 1 1
[[I@4d0948bd
这是我的代码,它只是那些需要为1的4角2,如果修复了我的错误可能会修复。
public class Server{
public static int[][] tableMaker(){
int[][] table = new int[5][5];
for(int i=0; i<table.length; i++){
for(int j=0; j<table.length; j++){
if(i==2 && j==2){
table[i][j] =3;
}
if(i==0 || i==4){
table[i][j] = 1;
}
if(j==4 || j==0){
table[i][j] = 1;
}
if((i==1 || i==3) && (j>0 || j<4)){
table[i][j] = 2;
}
if((i==2 && j==1) || (i==2 && j==3)){
table[i][j] = 2;
}
}
}
for(int i=0; i<table.length; i++){
for(int j=0; j<table.length; j++){
System.out.print(table[i][j] + " ");
}
System.out.println();
}
return table;
}
}
这是我在客户端的打印命令
public class Client{
public static void main(String[] args){
System.out.println(Server.tableMaker());
}
}
答案 0 :(得分:3)
toString()
结果的原因,[[I @ 4d0948bd。而只需调用tableMaker方法。答案 1 :(得分:1)
您可能已经解决了这个问题,但您只需更改一行
if((i==1 || i==3) && (j>0 || j<4)){
到
if((i==1 || i==3) && (j>0 && j<4)){