Pizza Aufgabe

Hallo,

die Aufgabenstellung ist wie folgt…
Aufgabe: Pizza (Konstruktor)
Erweitern Sie das Pizzabeispiel aus der Vorlesung, so dass eine Pizza mehrere beliebige Durchmesser/Preiskombinationen haben kann (im Bild sehen Sie nur ein Beispiel). Erstellen Sie dabei auch einen passenden Konstruktor. Schreiben Sie eine weitere Klasse, in der 5 Pizzen angelegt werden! Die Ausgabe der Speisekarte ist nicht gefordert!

public class Pizzen {

	public static void main(String[] args) {
		
	Pizza[] pizza = new Pizza[5];
	
	pizza[0] = new Pizza("Pizza Prosciutto", 10f, 13.9f, 20.1f);
	pizza[1] = new Pizza("Pizza Salami", 10.1f, 14.2f, 20.3f);
	pizza[2] = new Pizza("Pizza Frutti di Mare", 10.5f, 14.7f, 20.9f);
	pizza[3] = new Pizza("Pizza Funghi", 9.8f, 12.9f, 18.1f);
	pizza[4] = new Pizza("Pizza Diavolo", 10.2f, 14.3f, 20.4f);
	
	System.out.println("Die Pizzen kosten bei 26cm:\n");
	
	for (int i=0; i < pizza.length; i++) {
	
		System.out.print(pizza[i].getName() + ": " + pizza[i].getPreis1()+"€\n");

	}
	}
}


public class Pizza {

	String name;
	int durchmesser;
	float preis;
	float preis1;
	float preis2;
	float preis3;

	
	public Pizza(String name, float preis1, float preis2, float preis3)	
	{
		this.name = name;
		this.preis1 = preis1;
		this.preis2 = preis2;
		this.preis3 = preis3;
}
	
	public String getName() {
		return name;
	}
	public float getPreis1() {
		return preis1;
	}
	public float getPreis2() {
		return preis2;
	}
	public float getPreis3() {
		return preis3;
	}
	
}

Wie bekomme ich denn jetzt noch einen zweiten Array für den Pizzadurchmesser? Oder habt ihr andere Ideen?

Ich habe dazu fachliche Fragen:

  • Was bedeutet Preis, Preis1, Preis2, Preis3?
  • Was bedeutet int Durchmesser einer Pizza?
  • Was bedeutet für dich „Ein zweites Array für den Pizzadurchmesser“?
  • Haben alle Pizzen die gleichen Durchmesser?

Schöne Grüße
Martin

1 Like

Du brauchst eine Klasse, die den Durchmesser und Preis beinhaltet.

Edit: Und vielleicht kann mal jemand den Titel korrigieren, hier geht es um die Modellierung einer Pizzeria - und nicht um schnelle Karren.

Eine sehr interessante Aufgabe, wie ich finde, aber ich verstehe den Kern der Frage nicht sehr gut

Heutzutage sähe es eher so aus:

package pizzaria;

public record Pizza(String name, double price, String description) {
  @Override
  public String toString() {
    return String.format(
        "%s - $ %.2f %.2f %.2f (%s)",
        name, getPrice(22.0, 0.0), getPrice(26.0, 0.0), getPrice(30.0, 0.0), description);
  }

  public double getPrice(double diameter, double discount) {
    return price * diameter / 26.0 - discount;
  }
}


package pizzaria;

import java.util.ArrayList;
import java.util.List;

public class Kasse {
  private final List<Pizza> pizzas = new ArrayList<>();

  {
    pizzas.add(new Pizza("Hawaii", 12.5, "Das ist eine Pizza"));
    pizzas.add(new Pizza("Hawaii", 13.5, "Aloha"));
    pizzas.add(new Pizza("Hawaii", 14.5, "Love"));
  }

  public static void main(String[] args) {
    Kasse kasse = new Kasse();
    kasse.pizzas.stream().map(Pizza::toString).forEach(System.out::println);
  }
}