Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中打印二维对象数组_Java - Fatal编程技术网

在java中打印二维对象数组

在java中打印二维对象数组,java,Java,我有一个包含对象的二维数组。有人知道我如何打印这个数组吗?因为当我使用以下代码时,不会打印对象的包含,而是打印符号 Humans [][]cells= new Humans [7][7]; for (int row=0; row<cells.length; row++) { for (int col=0; col<cells[row].length; col++) { System.out.print(" " + cells[row][co

我有一个包含对象的二维数组。有人知道我如何打印这个数组吗?因为当我使用以下代码时,不会打印对象的包含,而是打印符号

Humans [][]cells= new Humans [7][7];

for (int row=0; row<cells.length; row++) {
      for (int col=0; col<cells[row].length; col++) {


            System.out.print("  " + cells[row][col]);


           } 
} 
Humans[][]细胞=新人类[7][7];

对于(int row=0;row,您需要使用
toString
,并确保2d数组中的实例适当地实现它

在你内心最深处的循环中

Human current = cells[row][col]; 
// possibly do a null check
System.out.print(current.toString());

确保在
Human
上实现
toString
,您需要使用
toString
,并确保2d数组中的实例适当地实现它

在你内心最深处的循环中

Human current = cells[row][col]; 
// possibly do a null check
System.out.print(current.toString());
确保在
Human
上实现
toString
,覆盖humans类中的toString()方法,并打印想要打印的内容。然后使用

Arrays.toString(cells);
打印数组。

重写humans类中的toString()方法,并打印要为humans打印的内容。然后使用

Arrays.toString(cells);

打印数组。

您需要重写Human类中的toString方法,以打印所需类的任何详细信息(我假设名称和内容),然后替换为:

cells[row][col]
你应该写:

cells[row][col].toString()

您需要重写Human类中的toString方法,以打印所需类的任何详细信息(我假设名称和内容),然后代替:

cells[row][col]
你应该写:

cells[row][col].toString()

您可以重写Humans toString()吗

编辑: 这里有很好的参考

你能覆盖人类的toString()吗

编辑: 这里有很好的参考

您需要覆盖类Humans中的toString以满足您的需要。

您需要覆盖类Humans中的toString以满足您的需要。

如果要将toString()包含在字符串连接中,您需要将其添加到Humans对象中

public String toString() {
    return "Name: " + name + " age: " + age + " shoe size: " + shoeSize;
}
如果要将toString()包含在字符串连接中,则需要将其添加到Humans对象中

public String toString() {
    return "Name: " + name + " age: " + age + " shoe size: " + shoeSize;
}

首先,需要重写Humans对象的toString()方法,以返回表示Humans实例内容的字符串


接下来,您可能希望在内部for循环完成后打印新行,否则您将只在一行上打印整个2D数组的全部内容(除非这是您在这里要做的)。

首先,您需要覆盖toString()方法返回表示人员实例内容的字符串


接下来,您可能希望在内部for循环完成后打印新行,否则您将在一行上打印整个2D数组的全部内容(除非这是您在这里要做的).

正如@hvgotcodes所说,您需要确保您的
Human
类实现了
toString
方法。例如,如果一个人只包含一个数字(此人的年龄),最基本的情况可能是:

class Human {
    int age;
    public Human(int age){
        this.age = age;
    }       
    @Override
    public String toString(){
        return "[Human: age :=" + age + "]"; //or whatever's appropriate!
    }
}
要打印这些对象的二维阵列,可以编写:

for(int i = 0; i < cells.length; i++){
    for(int j = 0; j < cells[i].length; j++){
        System.out.print(cells[i][j]); //invokes toString method in Human..
        if(j < cells[i].length -1)
            System.out.print(", ");
        }
        System.out.println();
    }
}
for(int i=0;i
正如@hvgotcodes所说,您需要确保您的
Human
类实现了
toString
方法。例如,如果一个人只包含一个数字(此人的年龄),最基本的可能是这样的:

class Human {
    int age;
    public Human(int age){
        this.age = age;
    }       
    @Override
    public String toString(){
        return "[Human: age :=" + age + "]"; //or whatever's appropriate!
    }
}
要打印这些对象的二维阵列,可以编写:

for(int i = 0; i < cells.length; i++){
    for(int j = 0; j < cells[i].length; j++){
        System.out.print(cells[i][j]); //invokes toString method in Human..
        if(j < cells[i].length -1)
            System.out.print(", ");
        }
        System.out.println();
    }
}
for(int i=0;i
您能通过一个示例输出吗?常规设置看起来不错,但如果不查看您的
.toString(),我们就无法确切地知道这将做什么
方法的
Human
或者如果它没有在
Human
中定义,那么它是从何处继承的。您能通过一个示例输出吗?常规设置看起来不错,但如果不查看您的
.toString()我们就无法确切知道它将做什么
人类的方法
或者如果在人类中未定义,则从何处继承。