toString()方法打印空值

时间:2014-10-11 14:59:49

标签: java tostring

我的toString方法没有给出所需的结果。

我想要的是: [潜艇,5,假]

我得到的是: [null,0,false]

我的班级看起来像这样

public class Ship {

private String name;
private int size;
private boolean isDestroyed;

public Ship(String n, int s, boolean d) {

    n = this.name;
    s = this.size;
    d = this.isDestroyed;
}

public String toString() {
    String output = "";
    output = "[" + name + ", " + size + ", " + isDestroyed + "]";
    return output;

}
}

我搜索过类似的内容,其他人的问题是他们没有使用this关键字。因为我使用它,我看不出我做错了什么。

3 个答案:

答案 0 :(得分:2)

n = this.name;

应该是

this.name = n;

其他字段变量

相同

答案 1 :(得分:0)

您以错误的方式分配值。

this.name= n;
this.size= s;
this.isDestroyed= d;

或者名字。

this.name="XYZ";

你不能将可存储的值存入

"YYZ"=thi.name;

答案 2 :(得分:0)

n = this.name;

表示将“this.name”的值赋值为“n”。但是“this.name”的值为null,所以你什么也得不到。