gpt4 book ai didi

java - 为什么我的代码在java中输出package.class@letternumbers?

转载 作者:行者123 更新时间:2023-12-01 08:48:43 26 4
gpt4 key购买 nike

像往常一样,我想说明我是一个初学者,如果我没有使用正确的术语,请提前抱歉。

我做了什么:

我创建了一个方法,该方法在与主类不同的单独类中输出配方。在主类中,我创建了一个对象来调用其他类的方法。

来自主干:

Breakfast recipeName2 = new Breakfast();
recipeName2.frenchToast();
System.out.println(recipeName2);

来自其他类(class):

    public void frenchToast(){

System.out.println("\n");
StringBuilder sba = new StringBuilder("For French toast you will need:\n ");

sba.append("Eggs\n ");
sba.append("Bread\n ");
sba.append("Cinnamon\n ");
sba.append("Vanilla ");

System.out.println(sba.toString());

}

}

问题:

认为菜谱输出正确,由于某种原因,在菜谱的最后也添加了:ingredients.Breakfast@1f96302

我不确定它是什么或如何摆脱它。我尝试以不同的方式更改我的代码,例如更改我在 system.out.ln() 参数中放入的内容,但它随后弄乱了我的代码。我有预感发生这种情况是因为某些东西通过其他东西传递的方式,但我试图改变我编写代码的方式但无济于事。

如果有人能帮助我,我将非常感激。我正在继续我的项目,因为从技术上讲我的代码可以工作,但我对此感到困惑,并且真的很想知道为什么会发生这种情况。

谢谢

最佳答案

您的错误是由于下面的行 System.out.println(recipeName2); 我已经展示了如何在 frenchToast() 中使用 void 或 String 以及frenchToast2() 分别:

class Main {
public static void main(String[] args) {
Breakfast recipes = new Breakfast();
recipes.frenchToast();
System.out.println(recipes.frenchToast2());
}
}

class Breakfast {
public void frenchToast(){
StringBuilder sba = new StringBuilder("For French toast you will need:\n ");
sba.append("Eggs\n ");
sba.append("Bread\n ");
sba.append("Cinnamon\n ");
sba.append("Vanilla ");
System.out.println(sba.toString());
}

public static String frenchToast2(){
StringBuilder sba = new StringBuilder("For French toast you will need:\n ");
sba.append("Eggs\n ");
sba.append("Bread\n ");
sba.append("Cinnamon\n ");
sba.append("Vanilla ");
return(sba.toString());
}
}

等效输出:

For French toast you will need:
Eggs
Bread
Cinnamon
Vanilla
For French toast you will need:
Eggs
Bread
Cinnamon
Vanilla

尝试一下 here!

关于java - 为什么我的代码在java中输出package.class@letternumbers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42528959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com