×
Samples Blogs Make Payment About Us Reviews 4.9/5 Order Now

Java Program to Manage Sales Data Assignment Solution

June 25, 2024
Chloe Wong
Chloe Wong
🇨🇦 Canada
Java
Chloe Wong, holding a master's in computer science from the University of British Columbia, has successfully completed over 900 Java assignments. Her proficiency includes array initialization, searching techniques, and exception management. Chloe's meticulous approach and dedication to delivering well-structured solutions make her a trusted expert for students aiming to excel in their programming coursework.
Key Topics
  • Instructions
    • Objective
  • Requirements and Specifications
Tip of the day
Familiarize yourself with OCaml's pattern matching; it simplifies handling recursive data structures like lists and trees, making your code concise and easier to debug.
News
In 2024, Girls Who Code introduced a Data Science + AI track in their free summer programs for high school students, fostering skills in cybersecurity and creative coding​

Instructions

Objective

To complete a Java assignment, you need to write a program to manage sales data in Java. This assignment will require you to design and implement a Java program that can efficiently handle sales-related information. You'll need to create data structures to store sales data, develop functions for data input and analysis, and ensure that your program adheres to best practices in Java programming. This assignment is a great opportunity to enhance your Java programming skills and demonstrate your understanding of concepts such as data management, object-oriented programming, and algorithmic efficiency.

Requirements and Specifications

program-to-manage-sales-data-in-java (1)

Source Code

GOLDEN TICKET

public class GoldenTicket { private String catchphrase; private double discount; /** * Constrcutor that creates a GoldenTicket object given the catchphrase and the discount * The constructor checks that the given parameters are valid * @param catchphrase String * @param discount double */ public GoldenTicket(String catchphrase, double discount) { // If catchphrase is empty, set to "Congrats!" if(catchphrase.length() == 0) { catchphrase = "Congrats!"; } // if discount is not in (0, 25] set to 15.0 if(discount <= 0 ||discount > 25) { discount = 15.0; } this.catchphrase = catchphrase; this.discount = discount; } // Getters and setters public String getCatchPhrase() {return catchphrase;} public void setCatchPhrase(String newCatchPhrase) {catchphrase = newCatchPhrase;} public double getDiscount() {return discount;} public void setDiscount(double newDiscount) {discount = newDiscount;} /** * Methods */ /** * Mthod that returns a String representation of the Golden Ticket object * @return String */ public String ticketString() { return String.format("Golden Ticket with a %.2f%% discount! %s", getDiscount(), getCatchPhrase()); } }

DISCOUNTED PAPER

public class DiscountedPaper extends PaperProduct { private double discount; private GoldenTicket ticket; /** * Constructor that creates a DiscountedPaper object given the name, numberOfSheets * weightOfUnitSheet, discount and ticket object * @param name String * @param numberOfSheets int * @param weightOfUnitSheet double * @param discount double * @param ticket GoldenTicket */ public DiscountedPaper(String name, int numberOfSheets, double weightOfUnitSheet, double discount, GoldenTicket ticket) { // Call super super(name, numberOfSheets, weightOfUnitSheet); // Check that discount is valid if(discount <= 0 || discount > 50) { discount = 15.0; } this.discount = discount; this.ticket = ticket; } /** * Constructor that creates a DiscountedPaper object given the name, numberOfSheets * @param name String * @param numberOfSheets int */ public DiscountedPaper(String name, int numberOfSheets) { // Call super super(name, numberOfSheets); this.discount = 15.0; this.ticket = null;; } /** * Constructor that creates a DiscountedPaper object given the name * @param name String */ public DiscountedPaper(String name) { // Call super super(name); this.discount = 15.0; this.ticket = null;; } /** * Copy constructor that copies all variables from a given DiscountedPaper object * @param other DiscountedPaper object */ public DiscountedPaper(DiscountedPaper other) { super(other.getName(), other.getNumberfSheets(), other.getWeightOfUnitSheet()); this.discount = other.getDiscount(); this.ticket = other.getTicket(); } // getters and setts public double getDiscount() {return discount;} public GoldenTicket getTicket() {return ticket;} public void setDiscount(double newDiscount) {discount = newDiscount;} public void setTicket(GoldenTicket newTicket) {ticket = newTicket;} /** * Methods */ /** * Calculates the final cost given the discount and the GoldenTicket discount (if present) * @return double */ public double discountedCost() { // Calculate total cost double total_cost = totalCost(); // Apply discount double final_cost = total_cost*(1.0-getDiscount()/100.0); // If there is a golden ticket, apply the discount of the golden ticket if(getTicket() != null) { final_cost = final_cost *(1.0 - getTicket().getDiscount()/100.0); } return final_cost; } /** * Return a String representation detailing if the product was shipped or not * @param companyName String * @return String */ public String shipDiscount(String companyName) { return super.ship(companyName) + String.format(" The total cost after the discount is $%.2f", discountedCost()); } /** * Return a String representation of all the details about prices and discounts of the product * @returN String */ public String botherAccounting() { // Get original cost double orig_cost = totalCost(); // Calculate final cost double final_cost = discountedCost(); // get original discount double orig_discount = getDiscount(); // get ticket discount (if present) double ticket_discount = 0.0; if(getTicket() != null) { ticket_discount = getTicket().getDiscount(); } // Return String return String.format("Discounted Paper Product\nOriginal Cost: $%.2f\nFinal Cost: $%.2f\nOriginal Discount: %.2f%%\nGolden Ticket Discount: %.2f%%", orig_cost, final_cost, orig_discount, ticket_discount); } }

PAPER PRODUCT

class PaperProduct { private String name; private int numberOfSheets; private double weightOfUnitSheet; static int totalProductsToShip = 10; public final double COST_PER_GRAM = 0.025; /** * Constructor to create a PaperProduct object given the name, number of sheets and weight * @param name * @param numberOfSheets * @param weightOfUnitSheet */ public PaperProduct(String name, int numberOfSheets, double weightOfUnitSheet) { this.name = name; // if numberOfSheets is invalid, set to 500 if(numberOfSheets < 0) { numberOfSheets = 500; } this.numberOfSheets = numberOfSheets; // if weight is invalid, set to 0.25 if(weightOfUnitSheet < 0) { weightOfUnitSheet = 0.25; } this.weightOfUnitSheet = weightOfUnitSheet; } /** * Constructor to create a PaperProduct object given the name and number of sheets ;* @param name * @param numberOfSheets */ public PaperProduct(String name, int numberOfSheets) { this.name = name; // if numberOfSheets is invalid, set to 500 if(numberOfSheets < 0) { numberOfSheets = 500; } this.numberOfSheets = numberOfSheets; this.weightOfUnitSheet = 0.25; } /** * Constructor to create a PaperProduct object given the name * @param name */ public PaperProduct(String name) { this.name = name; this.numberOfSheets = 500; this.weightOfUnitSheet = 0.25; } /** * Copy constructor that copies all variables from a given PaperProduct object * @param other */ public PaperProduct(PaperProduct other) { this.name = other.name; this.numberOfSheets = other.numberOfSheets; this.weightOfUnitSheet = other.weightOfUnitSheet; } // Add getters public String getName() {return name;} public int getNumberfSheets() {return numberOfSheets;} public double getWeightOfUnitSheet() {return weightOfUnitSheet;} public int getTotalProductsToShip() {return PaperProduct.totalProductsToShip;} // Setter only for numberOfSheets public void setNumberOfSheets(int newNumberOfSheets) {numberOfSheets = newNumberOfSheets;} /** * METHODS */ /** * This function returns the total weight of the product * @return double */ public double totalWeight() { return numberOfSheets*weightOfUnitSheet; } /** * Returns the total cost of the product * @return double */ public double totalCost() { return COST_PER_GRAM*totalWeight(); } /** * Returns a string representing the object * @return String */ public String paperString() { return String.format("%.2fg of %s for $%.2f", totalWeight(), getName(), totalCost()); } /** * Returns a String depending on if the item is shipped or not. Receives the company name as parameter * @param companyName String representing the company name * @return String */ public String ship(String companyName) { if(getTotalProductsToShip() > 0) { totalProductsToShip -= 1; return "Shipped " + this.paperString() + " to " + companyName + "."; } else { return "Cannot ship any items, Warehouse is empty!"; } } }

WAREHOUSE

public class Warehouse { // Main method public static void main(String[] args) throws Exception { // Create 2 paper products PaperProduct pp1 = new PaperProduct("Paper Product 1", 450, 0.01); PaperProduct pp2 = new PaperProduct("Paper Product 2", 900, 0.17); // Create 1 Golden Ticket GoldenTicket gt = new GoldenTicket("Super Ticket!", 30); // with 30% discount // Create 2 DiscountedPaper products PaperProduct dp1 = new DiscountedPaper("Discounted Paper 1", 1500, 0.01, 13.0, null); // without golden ticket PaperProduct dp2 = new DiscountedPaper("Discounted Paper 2", 1500, 0.01, 13.0, gt); // with golden ticket // Create 2 PhotoPaper objects PaperProduct photo1 = new PhotoPaper("Photo Paper 1", 2500, 0.005, 35.0); PaperProduct photo2 = new PhotoPaper("Photo Paper 2", 400, 0.20, 25.0); // Let's ship System.out.println(pp1.ship("IBM")); System.out.println(pp2.ship("IBM")); System.out.println(dp1.ship("IBM")); System.out.println(dp2.ship("IBM")); System.out.println(photo1.ship("IBM")); System.out.println(photo2.ship("IBM")); for(int i = 0; i < 10; i++) { ; System.out.println(pp1.ship("Apple")); } } }

Similar Samples

Discover our array of programming homework samples at ProgrammingHomeworkHelp.com. These examples in Java, Python, C++, and more showcase our expertise in tackling various coding challenges. Each sample reflects our dedication to clarity and precision, offering valuable insights into effective problem-solving techniques. Explore them to see how we can assist you in mastering programming concepts and excelling in your coursework.