masonc15
masonc15

Reputation: 1081

Why is a value not incrementing properly?

I am working on a Java project and am encountering a strange error. I have a menu with multiple options all inside a do while loop but I want the variable pizzasOrdered to keep increasing when the user adds more pizzas to his order. Here is my code:

import java.util.Scanner;
public class PizzaMenu {

    public static void main(String[] args) {
        int numPlain;
        int numPepperoni;
        int pizzasOrdered = 0;
        boolean flag = true;

        System.out.println("Welcome to Pies, Pies, and pis!");
        Scanner kbd = new Scanner(System.in);
        System.out.println("Is there a customer in line? (1 = yes, 2 = no)");
        int isCustomer = kbd.nextInt();

        System.out.println("Are you a Pie Card member? (1 = yes, 2 = no)");
        boolean isMember;
        int pieCardResponse = kbd.nextInt();
        if(pieCardResponse == 1)
        {
            isMember = true;
        }
        else
        {
            isMember = false;
        }
        do{
            System.out.println("Please choose an option: \n\t1) Update Pizza Order\n\t2) Update Cherry Pie Order\n\t3) Update Charm Order\n\t4) Check Out");
            int option = kbd.nextInt();

            if(option == 1)
            {
                System.out.println("Here is your current order: \n\t" + pizzasOrdered + " pizzas ordered");
                System.out.println("How many plain pizzas would you like for $10.00 each?");
                numPlain = kbd.nextInt();
                System.out.println("How many pepperoni pizzas would you like for $12.00 each?");
                numPepperoni = kbd.nextInt();
                pizzasOrdered = numPlain + numPepperoni;


            }
            else if(option == 2)
                {
                    System.out.println("Here is your current order: \n");
                }
            else if(option == 3)
            {

            }
            else if(option == 4)
            {

            }
        }while(flag);

    }

}

Upvotes: 0

Views: 70

Answers (1)

Bohuslav Burghardt
Bohuslav Burghardt

Reputation: 34846

You should change this

pizzasOrdered = numPlain + numPepperoni;

to

pizzasOrdered += (numPlain + numPepperoni);

In your case you are not incrementing the variable, you are just assigning it new values in every iteration.

Upvotes: 2

Related Questions