1

Java クラスのミューテーター メソッドの作成に問題があり、少し助けを求めています。これらはメソッドの説明です。

 * Mutator method that calculates the cost of a pizza.
 * Small pizza = $8, toppings = $1/each
 * Medium pizza = $10, toppings = $2/each
 * Large pizza = $12, toppings = $3/each
 * 4 or more toppings = $2 discount regardless of pizza size  

私が困っているのは、各ピザに 2 ドルの割引を追加することです。これまでのところ、これを試してみましたが、二項演算子のオペランド型が正しくないというエラー メッセージが表示されます。

public void setCost()
{
  smallPizza = smallPizza.valueOf(8 + 1 * numberToppings);
   mediumPizza = mediumPizza.valueOf(10 + 2 * numberToppings);
   largePizza = largePizza.valueOf(12 + 3 * numberToppings);

if(numberToppings >= 4) {
     smallPizza = smallPizza - 2;
     mediumPizza = mediumPizza - 2;
     largePizza = largePizza - 2;
}

このコードも試してみました。これは準拠していますが、ピザのコストと割引の代わりに「null」を返します。

public void setCost()
{
   smallPizza = smallPizza.valueOf(8 + 1 * numberToppings);
   mediumPizza = mediumPizza.valueOf(10 + 2 * numberToppings);
   largePizza = largePizza.valueOf(12 + 3 * numberToppings);

  if(numberToppings >= 4) {
     smallPizza = smallPizza.valueOf(6 + 1 * numberToppings);
     mediumPizza = mediumPizza.valueOf(8 + 2 * numberToppings);
     largePizza = largePizza.valueOf(10 + 3 * numberToppings);

}

助言がありますか?

完全なコードは次のとおりです。

public class Pizza
{
    private String customerName;
    private String pizzaSize;
    private int numberToppings;
    private int pizzaCost;
    private String smallPizza;
    private String mediumPizza;
    private String largePizza;

    /**
     * Constructor for objects of class Pizza
     */
    public Pizza(String CustomerName, String PizzaSize, int NumberToppings)
    {
        customerName = CustomerName;
        numberToppings = NumberToppings;
        pizzaSize = PizzaSize;
    }

    /**
     * Constructor for selecting pizza size.
     */
    public void pizzaSize(String small, String medium, String large)
    {
        smallPizza = small; 
        mediumPizza = medium;
        largePizza = large;
    }

    /**
     * Accessor method that returns the name of an order
     */
    public String getName()
    {
        return customerName;
    }

    /**
     * Mutator method that calculates the cost of a pizza.
     * Small pizza = $8, toppings = $1/each
     * Medium pizza = $10, toppings = $2/each
     * Large pizza = $12, toppings = $3/each
     * 4 or more toppings = $2 discount regardless of pizza size
     */
    public void setCost()
    {
       smallPizza = smallPizza.valueOf(8 + 1 * numberToppings);
       mediumPizza = mediumPizza.valueOf(10 + 2 * numberToppings);
       largePizza = largePizza.valueOf(12 + 3 * numberToppings);

      if(numberToppings >= 4) {
         smallPizza = smallPizza.valueOf(6 + 1 * numberToppings);
         mediumPizza = mediumPizza.valueOf(8 + 2 * numberToppings);
         largePizza = largePizza.valueOf(10 + 3 * numberToppings);

    }

    }
    /**
     * Accessor method that returns the cost of a pizza.
     */
    public void getCost()
    {
        System.out.println(smallPizza);
        System.out.println(mediumPizza);
        System.out.println(largePizza);
    }
}
4

1 に答える 1