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 PRODUCT(int 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 0;
}
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 FreshFruit(int id, String name, double price, double weight)
{
super(id, 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 PackagedItem(int id, String name, double price, int quantity, String ByDate)
{
super(id, 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 0.10* 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 addProduct(PRODUCT product){
products.add(product);
}
public PRODUCT getProductByID(int id)
{
for(PRODUCT product: products)
{
if (product.getID()==id)
{
return product;
}
}
return null;
}
public List getProducts()
{
return products;
}
public static void main(String[] args)
{
ProductDatabase database = new ProductDatabase();
database.addProduct(new FreshFruit(1, "Apple", 2.99,100));
database.addProduct(new FreshFruit(2, "Banana", 5.1,350));
database.addProduct(new FreshFruit(3, "Cucumbur", 7.2,432));
database.addProduct(new FreshFruit(4, "Spinach", 5.1,146));
database.addProduct(new FreshFruit(5, "Mango", 9.6,445));
database.addProduct(new PackagedItem(6, "Eggs", 3.49,12,"2023-12-31"));
database.addProduct(new PackagedItem(7, "juice", 2.99,20,"2024-06-31"));
database.addProduct(new PackagedItem(8, "chips", 1.99,14,"2025-07-31"));
database.addProduct(new PackagedItem(9, "bread", 5.99,24,"2023-11-31"));
database.addProduct(new PackagedItem(10, "milk", 7.99,26,"2023-12-31"));
Scanner scanner = new Scanner(System.in);
List cart = new ArrayList<>();
double totalAmount =0;
System.out.println("Welcome to the SuperMarket");
while(true)
{
System.out.println("
Product Menu: ");
for (PRODUCT product: database.getProducts())
{
System.out.println("ID: "+ product.getID()+"-"+ product.getName()+"-$"+product.getPrice());
}
System.out.print("Enter the ID of the product you want to buy (0 to finish): ");
int productId = scanner.nextInt();
if (productId ==0){
break;
}
PRODUCT selectedProduct = database.getProductByID(productId);
if (selectedProduct != null){
cart.add(selectedProduct);
totalAmount += selectedProduct.getPrice()+ selectedProduct.getTax();
System.out.println("Added "+ selectedProduct.getName()+" to your cart.");
} else {
System.out.println("Invalid product ID. Please try again.");
}
}
System.out.println("
Docket:");
for (PRODUCT product : cart){
System.out.println(product);
System.out.println("**************************");
}
System.out.println("Total Amount Due: $"+ totalAmount);
System.out.println("Total 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 blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!