我正在尝试制作一个程序,在其中输入成分的名称和数量以及 toastr 的温度。该程序应该将它们混合在一起并告诉我是否可以烘烤它们。
Zutat 类是成分的类,包含名称和数量。 Teig 类用于混合所有成分制作面团。它注明了每种成分的名称和用于制作面团的数量,最后还写着“制作面团”之类的内容。 Class Ofen 是专门为 toastr 设计的。它应该在 X 温度下 cooking 面团。 Weihnachtsbaeckerei 类是用来将所有这些组合在一起的类。首先添加配料,然后制作面团并在一定温度下烘烤。如果温度低于200,则屏幕上显示“Cookies are beautiful”,否则“You burnt those”。
我是使用类和方法进行编程的新手,并且有点沉迷于 Weihnachtsbaeckerei 类。任何人都可以帮助我解决这个问题而不需要过多改变其他类吗?
提前谢谢您!
public class aufgabe12 {
public class Zutat{
public String Namen;
public int Menge;
}
public class Teig{
public boolean geknetet;
public void zutatHinzufugen(String Zutat){
System.out.println("Zutat hinzugefuegf: " + Zutat.Namen + " (" + Zutat.Menge + "g)");
}
public void kneten(){
geknetet = true;
System.out.println("Teig geknetet");
}
}
public class Ofen{
public boolean backen(String Teig, int Temperatur){
if(Temperatur<200){
return(true);
} else {
return(false);
}
}
public void kneten(){}
}
public void main(String[] args){
public class Weihnachtsbaeckerei{
Zutat zutat1 = new Zutat();
Zutat zutat2 = new Zutat();
Zutat zutat3 = new Zutat();
zutat1.Namen = "Mehl";
zutat1.Menge = 200;
zutat2.Namen = "Zucker";
zutat2.Menge = 100;
zutat3.Namen = "Eier";
zutat3.Menge = 150;
zutatHinzufugen(zutat1);
zutatHinzufugen(zutat2);
zutatHinzufugen(zutat3);
kneten();
ofen(zutat1, 180);
ofen(zutat2, 180);
ofen(zutat3, 180);
if(ofen==true){
System.out.println("Hmmmm lecker");
} else {
System.out.println("Leider schief gegangen");
}
}
}
有错误的行是:
System.out.println("Zutat hinzugefuegf: " + Zutat.Namen + " (" + Zutat.Menge + "g)");
zutat1.Namen = "Mehl";
zutat1.Menge = 200;
zutat2.Namen = "Zucker";
zutat2.Menge = 100;
zutat3.Namen = "Eier";
zutat3.Menge = 150;
zutatHinzufugen(zutat1);
zutatHinzufugen(zutat2);
zutatHinzufugen(zutat3);
最佳答案
圣诞快乐。请考虑我对您的代码所做的更改。
首先 - 你的 Teig 需要接受 Zutat,而不是字符串:
// Add a Zutat, not a String
public void zutatHinzufugen(Zutat dazu) {
System.out.println("Zutat hinzugefuegf: " + dazu.Namen + " (" + dazu.Menge + "g)");
}
然后,您将想要烘烤整个 Teig,而不是单个 Zutaten:
public class Ofen {
// You bake the Teig, not the Zutat
public boolean backen(Teig teig, int Temperatur) {
if (Temperatur < 200) {
return (true);
} else {
return (false);
}
}
}
如果 Teig 不是 gerührt,您可能需要考虑抛出异常。
最后,在你的 main 中创建一个 Teig,创建一个 Ofen 并将所有内容放在一起:
public void main(String[] args) {
Teig teig = new Teig();
Zutat zutat1 = new Zutat();
Zutat zutat2 = new Zutat();
Zutat zutat3 = new Zutat();
zutat1.Namen = "Mehl";
zutat1.Menge = 200;
zutat2.Namen = "Zucker";
zutat2.Menge = 100;
zutat3.Namen = "Eier";
zutat3.Menge = 150;
teig.zutatHinzufugen(zutat1);
teig.zutatHinzufugen(zutat2);
teig.zutatHinzufugen(zutat3);
teig.kneten();
//You need an ofen
Ofen ofen = new Ofen();
//You bake only once
if (ofen.backen(teig, 180)) {
System.out.println("Hmmmm lecker");
} else {
System.out.println("Leider schief gegangen");
}
}
这是完成的代码:
public class WeihnachtsbaeckereiTest {
public class Zutat {
public String Namen;
public int Menge;
}
public class Teig {
public boolean geknetet;
// Add a Zutat, not a String
public void zutatHinzufugen(Zutat dazu) {
System.out.println("Zutat hinzugefuegf: " + dazu.Namen + " (" + dazu.Menge + "g)");
}
public void kneten() {
geknetet = true;
System.out.println("Teig geknetet");
}
}
public class Ofen {
// You bake the Teig, not the Zutat
public boolean backen(Teig teig, int Temperatur) {
if (Temperatur < 200) {
return (true);
} else {
return (false);
}
}
}
public void main(String[] args) {
Teig teig = new Teig();
Zutat zutat1 = new Zutat();
Zutat zutat2 = new Zutat();
Zutat zutat3 = new Zutat();
zutat1.Namen = "Mehl";
zutat1.Menge = 200;
zutat2.Namen = "Zucker";
zutat2.Menge = 100;
zutat3.Namen = "Eier";
zutat3.Menge = 150;
teig.zutatHinzufugen(zutat1);
teig.zutatHinzufugen(zutat2);
teig.zutatHinzufugen(zutat3);
teig.kneten();
//You need an ofen
Ofen ofen = new Ofen();
//You bake only once
if (ofen.backen(teig, 180)) {
System.out.println("Hmmmm lecker");
} else {
System.out.println("Leider schief gegangen");
}
}
}
关于java - 为圣诞节烘焙 cookies 的程序,类(class)无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34336037/