Question: import java.io . * ; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class PRODUCT { private int id; private String name; private String type; protected
import java.io;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class PRODUCT
private int id;
private String name;
private String type;
protected double price;
private double tax;
public PRODUCTint id String name, String type, double price
this.id id;
this.name name;
this.type type;
this.price price;
this.tax calcTax;
public double calcTax
return ;
public int getID
return id;
public String getName
return name;
public String getType
return type;
public double getPrice
return price;
public double getTax
return tax;
@Override
public String toString
return ID: id
Name: name
Type: type
Price: $ price
TAX: tax;
class FreshFruit extends PRODUCT
private double weight;
public FreshFruitint id String name, double price, double weight
superid name, "Fresh Fruit", price;
this.weight weight;
public double getweight
return weight;
@Override
public String toString
return super.toString
Weight: weight "grams";
class PackagedItem extends PRODUCT
private int quantity;
private String ByDate;
public PackagedItemint id String name, double price, int quantity, String ByDate
superid name, "Packaged Item", price;
this.quantity quantity;
this.ByDate ByDate;
public int getquantity
return quantity;
public String getByDate
return ByDate;
@Override
public double calcTax
return price;
@Override
public String toString
return super.toString
Quantity: quantity
Use BY DATE: ByDate;
import java.io;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class ProductDatabase
private List products;
public ProductDatabase
products new ArrayList;
public void addProductPRODUCT product
products.addproduct;
public PRODUCT getProductByIDint id
forPRODUCT product: products
if productgetIDid
return product;
return null;
public List getProducts
return products;
public static void mainString args
ProductDatabase database new ProductDatabase;
database.addProductnew FreshFruit "Apple", ;
database.addProductnew FreshFruit "Banana", ;
database.addProductnew FreshFruit "Cucumbur", ;
database.addProductnew FreshFruit "Spinach", ;
database.addProductnew FreshFruit "Mango", ;
database.addProductnew PackagedItem "Eggs", ;
database.addProductnew PackagedItem "juice", ;
database.addProductnew PackagedItem "chips", ;
database.addProductnew PackagedItem "bread", ;
database.addProductnew PackagedItem "milk", ;
Scanner scanner new ScannerSystemin;
List cart new ArrayList;
double totalAmount ;
System.out.printlnWelcome to the SuperMarket";
whiletrue
System.out.println
Product Menu: ;
for PRODUCT product: database.getProducts
System.out.printlnID: product.getID product.getName$product.getPrice;
System.out.printEnter the ID of the product you want to buy to finish: ;
int productId scanner.nextInt;
if productId
break;
PRODUCT selectedProduct database.getProductByIDproductId;
if selectedProduct null
cart.addselectedProduct;
totalAmount selectedProduct.getPrice selectedProduct.getTax;
System.out.printlnAdded selectedProduct.getName to your cart.";
else
System.out.printlnInvalid product ID Please try again.";
System.out.println
Docket:";
for PRODUCT product : cart
System.out.printlnproduct;
System.out.println;
System.out.printlnTotal Amount Due: $ totalAmount;
System.out.printlnTotal Tm
create uml diagram with relationship for tis code
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
