我试图创建一个程序,在其中输入配料的名称和数量以及烤箱的温度。该程序应将它们混合在一起,并告诉我是否可以烘烤它们。

Zutat类是配料的类,带有名称和数量。
Teig级是一种用于混合所有成分的面团。它说出了每种原料用于制作面团的名称和数量,最后说了类似“面团制作”。
Ofen类是烤箱中的一类。它应该在温度X下煮面团。
Weihnachtsbaeckerei类是用于将其全部组合在一起的类。首先添加成分,然后制作面团并在一定温度下烘烤。如果温度低于200,则会在屏幕上显示“ Cookie很棒”,否则显示“您烧了它们”。

我不熟悉使用类和方法进行编程,并且对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,而不是String:

        // 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,则可能要考虑引发Exception。

最后,在您的主体中创建一个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");
        }
    }
}

09-13 05:24