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








