使用printf()打印变量时打印随机数

时间:2017-04-28 17:50:48

标签: java object

我正在尝试打印一个简单的内容:Hola hi hello,但出于某种原因,它打印的是我想要的但是我的输出上有一些数字

很抱歉,如果它很容易找到或修复,但我只是从java开始,所以我是一个完整的菜鸟。

我的文件如下:

Example.java

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

            Hola ho = new Hola("hola");

            System.out.printf("%s hi hello", ho);
    }
}

Hola.java

class Hola {
    public String name;

    public Hola(String name){
        this.name = name;

    }
}

输出:Hola @ 7852e922你好%

2 个答案:

答案 0 :(得分:4)

您必须使用ho.name

System.out.printf("%s hi hello", ho.name);

因为ho将打印对象引用而不是名称。

答案 1 :(得分:1)

您应该覆盖toString()类的Hola方法:

class Hola {
    public String name;

    public Hola(String name){
        this.name = name;

    }
    @Override
    public String toString()
    {
        return this.name;
    }
}