2017-04-16 5 views
-5

Also habe ich eine Aufgabe, und ich habe den Großteil des Codes dafür erstellt, aber ich kann nicht herausfinden, wie man den Toppings Preise hinzufügt. Dies ist nicht mein Hauptcode, dies ist für den Preis für die Größe der Pizza, aber ich bin auch verpflichtet, mehr von einem Preis zu den Belägen hinzuzufügen. Ich muss zwei separate Preise hinzufügen, einen für eine mittelgroße Pizza und einen für eine große Pizza.Preis zu Toppings hinzufügen

package assignment1; 

public class Pizza { 

private int diam; 
private int numOfPizza; 
private double price; 
private String toppings; 

Pizza(int size, String input) { 
diam = size; 
toppings = input; 

} 

public int getDiameter(){ 
    return diam; 
} 
public int getPizzaCount(){ 
    return numOfPizza; 
} 
public double getPrice(){ 
    return price; 
} 
public String getToppings(){ 
    return toppings; 
} 
public void setDiameter(int size){ 
if (size == 12) 
    diam = 12; 
else if (size == 16) 
    diam = 16; 
else 
    diam = 0; 
}  
public void setPizzaCount(int pizzaCount){ 
    numOfPizza = pizzaCount; 
} 
public void setPrice(double total){ 
    price = total; 
} 
public void setToppings(String input){ 
    if ("Ham".equalsIgnoreCase(input)) 
     toppings = "Ham"; 
    else if ("Mozarella".equalsIgnoreCase(input)) 
     toppings = "Mozarella" ; 
    else if ("Olives".equalsIgnoreCase(input)) 
     toppings = "Olives"; 
    else if ("Pineapple".equalsIgnoreCase(input)) 
     toppings = "Pineapple"; 
    else if ("Spinach".equalsIgnoreCase(input)) 
     toppings = "Spinach"; 
    else 
     toppings = "Plain"; 
} 
private double calculatePrice(int size, String input){ 
    int total; 
    if(!(toppings).equalsIgnoreCase("plain")) { 
     total = 1; 
    } else { 
     total = 0; 
    } 

    if(size == 12) { 
     total += 4.00; 
    } 

    else if(size == 16) { 
     total += 5.00; 
    } 

    return total; 
} 
    public String toString(){ 
     String pizzaString ="You have ordered a "+diam + " inch pizza with 
"+toppings +" toppings and a price of £"+ calculatePrice(diam, toppings); 
     return pizzaString; 
    } 
} 
+0

In 'calculatePrice' sollten Sie das selbe' if-elseif' wiederholen, das Sie in der 'setToppings' Methode haben, indem Sie verschiedene Preise basierend auf dem Namen hinzufügen. Sie können stattdessen auch einen 'switch' verwenden, der etwas deutlicher zu lesen ist. Sie können auch eine Karte mit dem Namen als Schlüssel und dem Preis als Wert verwenden, aber ein 'switch' ist in Ordnung. Ah, übrigens ist es Mo ** zz ** Arella :) – BackSlash

+0

Aber wichtiger für diese Seite - wenn Sie * eine * Frage posten * sollten Sie * eine tatsächliche Frage stellen. Sie haben gerade einen Code und eine umfassende Anforderung veröffentlicht, die nicht den Qualitätsstandards dieser Website entspricht. Bitte gehen Sie durch den Unterabschnitt "Wie man fragt" in der [Hilfe], um mehr darüber zu erfahren, wie diese Seite funktioniert und wie man Fragen stellt, die Anerkennung und Antworten erhalten. –

+0

Danke für die Hilfe –

Antwort

0

Sie könnten so etwas, Festlegung des Preises für jeden Belag erstellen. Initialisieren Sie zuerst die Summe und erhöhen Sie dann die Summe abhängig von den hinzugefügten Belägen.

+0

Das hilft mir wirklich, danke –

+0

Gern geschehen! –

Verwandte Themen