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







