Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
30 views

Programming Assignment Unit 2

Uploaded by

cebeni8671
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Programming Assignment Unit 2

Uploaded by

cebeni8671
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Programming Assignment Unit 2

A basic structure and implementation for the e-commerce system in Java

com.ecommerce.Product.java
package com.ecommerce;

public class Product {


private String productID;
private String name;
private double price;

// Constructor
public Product(String productID, String name, double price) {
this.productID = productID;
this.name = name;
this.price = price;
}

// Getters and Setters


public String getProductID() {
return productID;
}

public void setProductID(String productID) {


this.productID = productID;
}

public String getName() {


return name;
}

public void setName(String name) {


this.name = name;
}

public double getPrice() {


return price;
}

public void setPrice(double price) {


this.price = price;
}

// Method to display product information


public void displayProductInfo() {
System.out.println("Product ID: " + productID + ", Name: " + name + ", Price: $" +
price);
}
}

com.ecommerce.Customer.java

package com.ecommerce;

import java.util.ArrayList;
import java.util.List;
public class Customer {
private String customerID;
private String name;
private List<Product> shoppingCart;

// Constructor
public Customer(String customerID, String name) {
this.customerID = customerID;
this.name = name;
this.shoppingCart = new ArrayList<>();
}

// Getters and Setters


public String getCustomerID() {
return customerID;
}

public void setCustomerID(String customerID) {


this.customerID = customerID;
}

public String getName() {


return name;
}

public void setName(String name) {


this.name = name;
}
public List<Product> getShoppingCart() {
return shoppingCart;
}

// Methods to manage shopping cart


public void addProductToCart(Product product) {
shoppingCart.add(product);
}

public void removeProductFromCart(Product product) {


shoppingCart.remove(product);
}

public double calculateTotalCost() {


double total = 0;
for (Product product : shoppingCart) {
total += product.getPrice();
}
return total;
}

public void placeOrder() {


if (shoppingCart.isEmpty()) {
System.out.println("Shopping cart is empty.");
} else {
// Assuming order processing logic
System.out.println("Order placed successfully.");
}
}

// Method to display customer information


public void displayCustomerInfo() {
System.out.println("Customer ID: " + customerID + ", Name: " + name);
}

// Method to display shopping cart


public void displayShoppingCart() {
System.out.println("Shopping Cart:");
for (Product product : shoppingCart) {
product.displayProductInfo();
}
System.out.println("Total Cost: $" + calculateTotalCost());
}
}

com.ecommerce.orders.Order.java

package com.ecommerce.orders;

import com.ecommerce.Customer;
import com.ecommerce.Product;
import java.util.List;

public class Order {


private String orderID;
private Customer customer;
private List<Product> products;
private double orderTotal;

// Constructor
public Order(String orderID, Customer customer, List<Product> products) {
this.orderID = orderID;
this.customer = customer;
this.products = products;
this.orderTotal = calculateOrderTotal();
}

// Method to calculate the order total


private double calculateOrderTotal() {
double total = 0;
for (Product product : products) {
total += product.getPrice();
}
return total;
}

// Method to generate order summary


public void generateOrderSummary() {
System.out.println("Order ID: " + orderID);
customer.displayCustomerInfo();
System.out.println("Products in Order:");
for (Product product : products) {
product.displayProductInfo();
}
System.out.println("Order Total: $" + orderTotal);
}

// Getters and Setters


public String getOrderID() {
return orderID;
}

public void setOrderID(String orderID) {


this.orderID = orderID;
}

public Customer getCustomer() {


return customer;
}

public void setCustomer(Customer customer) {


this.customer = customer;
}

public List<Product> getProducts() {


return products;
}

public void setProducts(List<Product> products) {


this.products = products;
}

public double getOrderTotal() {


return orderTotal;
}

public void setOrderTotal(double orderTotal) {


this.orderTotal = orderTotal;
}
}

Main.java

import com.ecommerce.Product;
import com.ecommerce.Customer;
import com.ecommerce.orders.Order;

import java.util.ArrayList;
import java.util.List;

public class Main {


public static void main(String[] args) {
// Create products
Product product1 = new Product("P001", "Laptop", 899.99);
Product product2 = new Product("P002", "Smartphone", 499.99);
Product product3 = new Product("P003", "Tablet", 299.99);
// Create customer
Customer customer = new Customer("C001", "Alice");

// Customer adds products to cart


customer.addProductToCart(product1);
customer.addProductToCart(product2);

// Display shopping cart


customer.displayShoppingCart();

// Place order
customer.placeOrder();

// Create order
List<Product> productsInOrder = new ArrayList<>(customer.getShoppingCart());
Order order = new Order("O001", customer, productsInOrder);

// Generate order summary


order.generateOrderSummary();
}
}

Explanation:
In this implementation, the ‘com.ecommerce’ package contains the Product and Customer
classes, while the ‘com.ecommerce.orders’ package contains the Order class. The ‘main’
program creates instances of these classes, demonstrates adding products to the shopping cart,
placing an order, and displaying order details. The use of packages and the import statement
ensures proper organization and encapsulation.
Screenshot:

References:
 Eck, D. J. (2022). Introduction to programming using java version 9, JavaFX edition

You might also like