Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Using Java Fx and OOPS concepts learned in your class, code the Assignment 2 in

ID: 3917978 • Letter: U

Question

Using Java Fx and OOPS concepts learned in your class, code the Assignment 2 in Java FX. Style the 3 scenes in this app using separate stylesheets. Upload the full project files as a zip .

The application Pizzashop will have all the choices for regular and feast pizza.

1. In the first scene, ask name, type (radiobutton)(for regular or feast) and size of pizza (radiobutton)(small,medium or large) and let the user add toppings (CheckBox, check for max toppings for each of the pizza (maximum 2 topppings($2.5/topping) for regular and maximum 3 toppings($2.5/topping) for feast pizza ). Show a logo on top left corner with all the title for your shop.

2. Once the user clicks a button in scene1, it takes him to scene 2 where the user sees his order details and a choice to choose his payment.(use radiobutton here). Once the user clicks a payment button in scene 2, it takes him to scene 3.

3. In scene 3, For debit and credit payment show a hyperlink window which takes the user to the respective payment sites, ex interac for debit., paypal for credit. and an image of cash for cash option.

Develop the GUI application.

Explanation / Answer

Solution:

The code can be framed as below:

import java.text.DecimalFormat;

import java.util.Scanner;

public class pizzaorder{

public static void main(String[] args){

DecimalFormat df = new DecimalFormat("#.####");

Scanner keyboard = new Scanner(System.in);

// Variables

String Cust_Name; // Customer’s name

char Pizza_Type;

String Pizza_Type_Name; // name of Pizza Type

char Payment_Method; //payment method

string payment_Method_Name;//payment method name

int size; // size of pizza

double price = 0.0; // cost of pizza

final double Tax_perc = 5; // rate of tax in %

double tax; // amount of tax

double total_Pizza; // total price of pizza+ toppings(if any)

double GrandTotal; // total of everything

int numberOfToppings1 = 0;

int numberOfToppings2 =0;

int numberOfToppings3;

String toppings = "Pepperoni";

System.out.println("Enter your name: " );

Cust_Name = keyboard.nextLine();

// Prompts for pizza size

System.out.print("What size of pizza would you like (diameter in inches)? (8, 10, 12, 14, or 16) " );

size = keyboard.nextInt();

if (size == 8 ){

price = 9.0000; }

else if (size == 10){

price = 10.0000;}

else if (size == 12){

price = 12.0000;}

else if (size == 14){

price = 14.0000;}

else if (size == 16){

price = 16.0000;}

else if (size != 8 && size != 10 && size != 12 && size != 14 && size != 16){

System.out.println("The value that you have entered is invalid. You will be offered default pizza size of 8 inches " );

price = 9;}

keyboard.nextLine();

// Prompts user for type of pizza

System.out.print("What type of pizza do you want? (RH)Regular-hand tossed, (RT)Regular -Thin-crust, or (F)Feast (enter RH, RT, or F,): " );

Pizza_Type = keyboard.nextLine().charAt(0);

if (Pizza_Type == 'RH' || Pizza_Type == 'rh' ){

Pizza_Type_Name = "Regular & Hand-Tossed";}

else if (Pizza_Type == 'RT' || Pizza_Type == 'rt' ){

Pizza_Type_Name = "Regular &Thin-Crust";}

else if (Pizza_Type == 'F' || Pizza_Type == 'f' ){

Pizza_Type_Name = "Feast & Deep-Dish";}

else if (Pizza_Type != 'RH' && Pizza_Type != 'rh' && Pizza_Type != 'RT' && Pizza_Type    != 'rt' && Pizza_Type != 'F' && Pizza_Type != 'f' ){

System.out.println("The pizza type you have entered is invalid. You will be offered Regular – Hand tossed pizza . " );}

Pizza_Type_Name = "Regular & Hand-Tossed";

// Prompts user for more toppings

System.out.println("Our Pizzas have Pepperoni as default topping." );

System.out.println("If you want additional toppings you can , choose from Mushroom (2$) or Sausage(2$)." );

// Mushroom

System.out.println("Do you want Mushroom? (Y/N)" );

numberOfToppings 1= keyboard.nextLine().charAt(0);

if (numberOfToppings1 == 'Y' || numberOfToppings1 == 'y' ){

numberOfToppings1 = 1;

toppings = toppings + " and Mushroom";}

else{

numberOfToppings1 = 0;

}

//Sausage

System.out.println("Do you want Sausage? (Y/N)" );

numberOfToppings2 = keyboard.nextLine().charAt(0);

if (numberOfToppings2 == 'Y' || numberOfToppings2 == 'y' ){

numberOfToppings2 = 1;

toppings = toppings + " and Sausage";}

else{

numberOfToppings2 = 0;}

numberOfToppings3 = (numberOfToppings1) + (numberOfToppings2);

// Calculations for pizza price

total_Pizza= (price) + (numberOfToppings3 * 2) ;

tax = total_Pizza * (Tax_perc/100);

GrandTotal = total_Pizza * ( 1 + (Tax_perc/100) );

// order and payment Confirmation

System.out.println(firstName + ", here are the details of your order:");

System.out.println(size + " inch pizza");

System.out.println(Pizza_Type_Name + ", " + toppings);

System.out.println("Order price: $" + df.format(total_Pizza));

System.out.println("Tax: $" + df.format(Tax_perc));

System.out.println("Total Due: $" + df.format(GrandTotal));

    }

   }

keyboard.nextLine();

// Prompts user for payment method

System.out.print("How would you like to pay for your pizza? (C)Credit Card, (D)Debit card, or (CH)Cash (enter C, D, or CH,): " );

Payment _Method= keyboard.nextLine().charAt(0);

if (Payment_Method == 'C' || Payment_Method == 'c' ){

Payment_Method_Name = "Credit Card";

Clicklink();

}

else if (Payment_Method == 'D' || Payment_Method == 'd' ){

Payment_Method_Name = "Debit Card";

Clicklink();

}

else if (Payment_Method == 'CH' || Payment_Method == 'ch' ){

Payment_Method_Name = "Cash";}

else if (Payment_Method != 'C' && Payment_Method != 'c' && Payment_Method != 'D' && Payment_Method    != 'd' && Payment_Method != 'CH' && Payment_Method != 'ch' ){

System.out.println("The payment method you have selected is invalid.You payment method will be set to cash " );}

Payment_Method_Name = "Cash";

keyboard.nextLine();

}

}

//function for navigating user to the payment page

public void ClickLink(ActionEvent event) throws Exception {              

        try {

        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("payment_page/fxml"));

                Parent root1 = (Parent) fxmlLoader.load();

                Stage stage = new Stage();

                stage.setScene(new Scene(root1));

                stage.show();

        } catch(Exception e) {

           e.printStackTrace();

          }

}

************************************************************************************************************

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote