Hello everyone Im actually working on a fast food order prog

Hello everyone,

I\'m actually working on a fast food order program. So far my program works good. Once the user has finished the order the program displays a receipt with all the order\'s information.

What I want is to print the receipt information in a showMessagedialog box by making used of JOptionPane. I have tryed but i has been impossible. Can you please guys give a hand with this. Here is my program code:

import java.text.DecimalFormat;
import java.util.Date;
import java.util.Random;
import java.util.Scanner;


//Interface
interface Restaurant
{
//Method that adds items to order.
void addItem();
}

//class that contains item\'s menu and prices.
class ItemsMenu{
Restaurant[] Menu = {
   new CheeseBurger(4.45),
   new ChickenBurger(5.25),
   new SuperHotDog(3.55),
   new MiniHotDog(2.99),
   new Fries(1.75),
   new OnionRings(1.75),
   new Soda(1.55),
   new BottleWater(1.25)};

//Method that display menu and receipt.
void Menu()
{
  Scanner CashierInput = new Scanner(System.in);
  DecimalFormat df = new DecimalFormat(\"0.00\");
  Date dateCreated = new Date();
  
  //Declaring variables.
  int Choice = 0;
  int ItemNum = 0;
  double Tax = 0;
  double NYTax = 8.78;
  double SubTotal = 0;
  double Total = 0;
  double TotalFinal = 0;

  //Printing menu options.
  System.out.println(\"\ /*/*/*/*/*/*/*/*/ Mac King Fast Food /*/*/*/*/*/*/*/*/\");
  System.out.println(\" \ Burgers:\" + \"                     \" + \"Side Orders: \");
  System.out.println(\" 1. CheeseBurger $\" + df.format(((CheeseBurger) Menu[0]).cheeseBurger) + \"       \" + \"5. Fries $\" + df.format(((Fries) Menu[4]).fries));
  System.out.println(\" 2. ChickenBurger $\" + df.format(((ChickenBurger) Menu[1]).chickenBurger) + \"      \" + \"6. Onion Rings $\" + df.format(((OnionRings) Menu[5]).onionRings));
  System.out.println(\" \ Hot Dogs:\" + \"                    \" + \"Beverages: \");
  System.out.println(\" 3. Super HotDog $\" + df.format(((SuperHotDog) Menu[2]).superHotDog) + \"       \" + \"7. Soda $\" + df.format(((Soda) Menu[6]).soda));
  System.out.println(\" 4. Mini HotDog $\" + df.format(((MiniHotDog) Menu[3]).miniHotDog) + \"        \" + \"8. Bottle of Water $\" + df.format(((BottleWater) Menu[7]).bottleWater));
  
  //Loop to get order choice from user.
  do {

   if (Choice != 0)
   {
    System.out.print(\"                        !!Enter (0) to finish Order!!\ \");
   }


   System.out.print(\" \ Enter menu selection: \");
   Choice = CashierInput.nextInt();

   //Printing choices added.
   //Counting items added.
   //Counting number of items added.
   //Calculating subtotal.   
   if (Choice == 1)
   {
    System.out.println(\"\ CheeseBurger added\");
    SubTotal = ((CheeseBurger) Menu[0]).cheeseBurger;
    Menu[0].addItem();
    ++CheeseBurger.cheeseBCount;
    ++ItemNum;
    Total = Total + SubTotal;
    System.out.println(\"Current Subtotal $\" + (df.format(Total)));
   }
    
   else if (Choice == 2)
   {
    System.out.println(\"\ ChickenBurger added\");
    SubTotal = ((ChickenBurger) Menu[1]).chickenBurger;
    Menu[1].addItem();
    ++ChickenBurger.chickenBCount;
    ++ItemNum;
    Total = Total + SubTotal;
    System.out.println(\"Current Subtotal $\" + (df.format(Total)));
   }

   else if (Choice == 3)
   {
    System.out.println(\"\ Super HotDog added\");
    SubTotal = ((SuperHotDog) Menu[2]).superHotDog;
    Menu[2].addItem();
    ++SuperHotDog.superHotDogCount;
    ++ItemNum;
    Total = Total + SubTotal;
    System.out.println(\"Current Subtotal $\" + (df.format(Total)));
   }

   else if (Choice == 4)
   {
    System.out.println(\"\ Mini HotDog added\");
    SubTotal = ((MiniHotDog) Menu[3]).miniHotDog;
    Menu[3].addItem();
    ++MiniHotDog.miniHotDogCount;
    ++ItemNum;
    Total = Total + SubTotal;
    System.out.println(\"Current Subtotal $\" + (df.format(Total)));
   }

   else if (Choice == 5)
   {
    System.out.println(\"\ Fries added\");
    SubTotal = ((Fries) Menu[4]).fries;
    Menu[4].addItem();
    ++Fries.friesCount;
    ++ItemNum;
    Total = Total + SubTotal;
    System.out.println (\"Current Subtotal $\" + (df.format(Total)));
   }

   else if (Choice == 6)
   {
    System.out.println(\"\ Onion Rings added\");
    SubTotal = ((OnionRings) Menu[5]).onionRings;
    Menu[5].addItem();
    ++OnionRings.onionRCount;
    ++ItemNum;
    Total = Total + SubTotal;
    System.out.println(\"Current Subtotal $\" + (df.format(Total)));
   }

   else if (Choice == 7)
   {
    System.out.println(\"\ Soda added\");
    SubTotal = ((Soda) Menu[6]).soda;
    Menu[6].addItem();
    ++Soda.sodaCount;
    ++ItemNum;
    Total = Total + SubTotal;
    System.out.println(\"Current Subtotal $\" + (df.format(Total)));
   }

   else if (Choice == 8)
   {
    System.out.println(\"\ Bottle Water added\");
    SubTotal = ((BottleWater) Menu[7]).bottleWater;
    Menu[7].addItem();
    ++BottleWater.bottleWaterRCount;
    ++ItemNum;
    Total = Total + SubTotal;
    System.out.println (\"Current Subtotal $\" + (df.format(Total)));
   }
   //Display error message if choice if out of range.
   else if(Choice > 8 || Choice < 0)
   {
    System.out.println(\"\ Wrong menu selection, try again.\");
   }
  }
  while(Choice != 0);

  CashierInput.close();

  Tax = ((Total * NYTax) / 100);
  TotalFinal = Total + Tax;
  
  //Printing receipt info.
  System.out.println(\"\ \\tRECEIPT\ \ \" + dateCreated + \"\ \");
  
  //Implementing random number used as order number.
  Random RanNum = new Random();

  for(int i = 0; i < 1; i++)
  {
   int Number = RanNum.nextInt(99) + 1;
   System.out.println(\"Order number: \"+ Number);
  }
  
   //Display number of items added.
  if(Burger.burgerCount!=0){
   if (CheeseBurger.cheeseBCount != 0 && Choice == 1){
    System.out.println(CheeseBurger.cheeseBCount + \" CheeseBurger\");
   }

   if (ChickenBurger.chickenBCount != 0 && Choice == 2){
    System.out.println(ChickenBurger.chickenBCount + \" ChickenBurger\");
   }
   System.out.println(\"Total Burger Ordered: \"+Burger.burgerCount);
  }
  if(HotDog.hotDogCount!=0){
   if (SuperHotDog.superHotDogCount != 0 && Choice == 3)
   {
    System.out.println(SuperHotDog.superHotDogCount + \" Super HotDog\");
   }
   if (MiniHotDog.miniHotDogCount != 0 && Choice == 4)
   {
    System.out.println(MiniHotDog.miniHotDogCount + \" Mini HotDog\");
   }
   System.out.println(\"Total HotDog Ordered: \"+HotDog.hotDogCount);
  }
  if(SideOrder.sideOrderCount!=0){
   if (Fries.friesCount != 0 && Choice == 5)
   {
    System.out.println(Fries.friesCount + \" Fries\");
   }
   if (OnionRings.onionRCount != 0 && Choice == 6)
   {
    System.out.println(OnionRings.onionRCount + \" Onion Rings\");
   }
   System.out.println(\"Total Side Order Ordered: \"+SideOrder.sideOrderCount);
  }

  if(Beverage.beverageOrderCount!=0){
   if (Soda.sodaCount != 0 && Choice == 7)
   {
    System.out.println(Soda.sodaCount + \" Soda\");
   }
   if (BottleWater.bottleWaterRCount != 0 || Choice == 8)
   {
    System.out.println(BottleWater.bottleWaterRCount + \" Bottle of Water\");
   }
   System.out.println(\"Total Beverage Ordered: \"+Beverage.beverageOrderCount);
  }
  
  //Printing rest of receipt\'s info.
  System.out.println(\"Items ordered: \" + ItemNum +\" Items\");
  System.out.println(\"Subtotal: $\" + (df.format(Total)));
  System.out.println(\"NY Tax (8.78%): $\" + (df.format(Tax)));
  System.out.println(\"Total: $ \" + (df.format(TotalFinal)));
  System.out.println(\"\ Thank you. Please come again!\");
}
}

//Inheritance.
//Class derived from interface.
class Burger implements Restaurant{

static int burgerCount;

//No-argument default constructor.
Burger(){
  burgerCount = 0;
}

//Method that adds items to order.
public void addItem() {
  ++burgerCount;
}
}

//Derived class from burger.
class CheeseBurger extends Burger{
double cheeseBurger;
static int cheeseBCount;

//No-argument default constructor.
public CheeseBurger() {
  cheeseBurger = 0;
  cheeseBCount = 0;
}

//One argument constructor.
public CheeseBurger(double cheeseBurger){
  this.cheeseBurger = cheeseBurger;
}
}

//Derived class from burger.
class ChickenBurger extends Burger{
double chickenBurger;
static int chickenBCount;

//No-argument default constructor.
public ChickenBurger() {
  chickenBurger = 0;
  chickenBCount = 0;
}

//One argument constructor.
public ChickenBurger(double chickenBurger){
  this.chickenBurger = chickenBurger;
}

}

//Derived class from interface.
class SideOrder implements Restaurant{
static int sideOrderCount;

//No-argument default constructor.
SideOrder(){
  sideOrderCount = 0;
}

//One argument constructor.
public void addItem() {
  ++sideOrderCount;
}
}

//Derived class from Side order.
class Fries extends SideOrder{
double fries;
static int friesCount;

//No-argument default constructor.
Fries(){
  fries = 0;
  friesCount = 0;
}

//One argument constructor.
Fries(double fries){
  this.fries = fries;
}
}

//Derived class from side order.
class OnionRings extends SideOrder{
double onionRings;
static int onionRCount;

//No-argument default constructor.
OnionRings(){
  onionRings = 0;
  onionRCount = 0;
}

//One argument constructor.
OnionRings(double onionRings){
  this.onionRings = onionRings;
}
}

//Derived class from interface
class HotDog implements Restaurant{
static int hotDogCount;

//No-argument default constructor.
HotDog(){
  hotDogCount = 0;
}

////Method that counts hot dogs added.
public void addItem() {
  ++hotDogCount;
}
}

//Derived class from hot dog.
class SuperHotDog extends HotDog{
double superHotDog;
static int superHotDogCount;

//No-argument constructor.
SuperHotDog(){
  superHotDog = 0;
  superHotDogCount = 0;
}

//One argument constructor.
SuperHotDog(double superHotDog){
  this.superHotDog = superHotDog;
}
}

//Derived class from hot dog.
class MiniHotDog extends HotDog{
double miniHotDog;
static int miniHotDogCount;

//No-argument default constructor.
MiniHotDog(){
  miniHotDog = 0;
  miniHotDogCount = 0;
}

//One-argument constructor.
MiniHotDog(double miniHotDog){
  this.miniHotDog = miniHotDog;
}
}

//Derived class from interface.
class Beverage implements Restaurant{
static int beverageOrderCount;

//No-argument default constructor.
Beverage(){
  beverageOrderCount = 0;
}

//Method that counts beverages added.
public void addItem() {
  ++beverageOrderCount;
}
}

//Derived class from beverage
class Soda extends Beverage{
double soda;
static int sodaCount;

//No-argument default constructor.
Soda(){
  soda = 0;
  sodaCount = 0;
}

//One argument constructor.
Soda(double soda){
  this.soda=soda;
}
}

//Derived class from beverage.
class BottleWater extends Beverage{
double bottleWater;
static int bottleWaterRCount;

//No-argument default constructor.
BottleWater(){
  bottleWater = 0;
  bottleWaterRCount = 0;
}

//One argument constructor.
BottleWater(double bottleWater){
  this.bottleWater = bottleWater;
}
}


public class RestaurantProjectMac190{

public static void main(String[] args){
  
  //Creating object to run program.
  ItemsMenu Run = new ItemsMenu();
  Run.Menu();

}
}

Solution

edit the code

in place of System.out.println use

Hello everyone, I\'m actually working on a fast food order program. So far my program works good. Once the user has finished the order the program displays a re
Hello everyone, I\'m actually working on a fast food order program. So far my program works good. Once the user has finished the order the program displays a re
Hello everyone, I\'m actually working on a fast food order program. So far my program works good. Once the user has finished the order the program displays a re
Hello everyone, I\'m actually working on a fast food order program. So far my program works good. Once the user has finished the order the program displays a re
Hello everyone, I\'m actually working on a fast food order program. So far my program works good. Once the user has finished the order the program displays a re
Hello everyone, I\'m actually working on a fast food order program. So far my program works good. Once the user has finished the order the program displays a re
Hello everyone, I\'m actually working on a fast food order program. So far my program works good. Once the user has finished the order the program displays a re
Hello everyone, I\'m actually working on a fast food order program. So far my program works good. Once the user has finished the order the program displays a re

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site