Question: CAN YOU PLEASE MAKE A UML DIAGRAM FOR THIS PROGRAM I HAVE COMPLETED. THANK YOU!!! CAN YOU PLEASE MAKE A UML DIAGRAM FOR THIS PROGRAM

CAN YOU PLEASE MAKE A UML DIAGRAM FOR THIS PROGRAM I HAVE COMPLETED. THANK YOU!!!

CAN YOU PLEASE MAKE A UML DIAGRAM FOR THIS PROGRAM I HAVE COMPLETED. THANK YOU!!!

CAN YOU PLEASE MAKE A UML DIAGRAM FOR THIS PROGRAM I HAVE COMPLETED. THANK YOU!!!

BookStore.java

import java.util.Scanner;

public class BookStore {

// set amount of inventory

private int numBooks;

private int numCds;

private int numDvds;

private int numMembers;

// prices of products and membership

private final int priceOfBook = 10;

private final int priceOfCd = 3;

private final int priceOfDvd = 7;

private final int priceOfPremium = 20;

private final Membership[] members;

// constructor to create a bookstore

public BookStore(int book, int cd, int dvd) {

numBooks = book;

numCds = cd;

numDvds = dvd;

numMembers = 0;

members = new Membership[500];

}

// show if they are a member or have a membership

private int membershipStatus(int numId) {

for (int i = 0; i < numMembers; i++) {

if (members[i].idNum == numId) {

return i;

}

}

return -1;

}

// add a member and determine their membership

public void addMember() {

Scanner sc = new Scanner(System.in);

Membership member = new Membership();

member.amountSpent = 0;

System.out.println("Would you like 1) a Regular Membership or 2) a Premium Membership? (Type 1 for regular or 2 for premium): ");

member.membershipType = sc.nextInt();

switch (member.membershipType) {

case 1:

System.out.println("Regular Membership is free. Thanks for being a member!");

break;

case 2:

System.out.println("Premium Membership is $" + priceOfPremium + ". Please enter amount to pay now: ");

double money = sc.nextDouble();

member.amountSpent += money;

member.paymentDue = priceOfPremium - money;

break;

default:

System.out.println("Error. Please enter 1 or 2.");

return;

}

System.out.println("Member ID: " + member.idNum);

members[numMembers++] = member;

}

// complete a purchase

public void purchase() {

Scanner sc = new Scanner(System.in);

// determine whether or not the user is a member/has a membership

System.out.println("Enter your ID number: ");

int id = sc.nextInt();

int idNum = membershipStatus(id);

if (idNum == -1) {

System.out.println("The ID number entered does not exist. Please try again.");

return;

}

// determine how much the user will buy

System.out.println("Please enter the amount of books to be purchased: ");

int books = sc.nextInt();

System.out.println("Please enter the amount of CD's to be purchased: ");

int cds = sc.nextInt();

System.out.println("Please enter the amount of DVD's to be purchased: ");

int dvds = sc.nextInt();

// if negative

if (books < 0 || cds < 0 || dvds < 0) {

System.out.println("Error. Please enter a non-negative number.");

} // if higher then inventory amount

else if (books > numBooks || cds > numCds || dvds > numDvds) {

System.out.println("Sorry, we do not have that amount in stock. Please try again.");

}

// calculate total

double total = books * priceOfBook + cds * priceOfCd + dvds * priceOfDvd;

// if user has a premium membership, a discount is applied

if (members[idNum].membershipType == 2) {

total -= 0.1 * total;

}

// finalize the payment

System.out.println("Total: $" + total);

System.out.println("Would you like to pay through 1) cash or 2) card? (Type 1 for cash or 2 for card): ");

int payment = sc.nextInt();

System.out.println("Confirm purchase? (Type 1 for yes or 2 for no): ");

int confirmation = sc.nextInt();

// add to amount spent and decrease inventory as needed

if (confirmation == 1) {

members[idNum].amountSpent += total;

numBooks -= books;

numCds -= cds;

numDvds -= dvds;

System.out.println("Thank you for purchasing from this bookstore! Have a great day!");

}

}

}

Membership.java

public class Membership {

public static int membershipNum = 1;

public int idNum;

public int membershipType;

public int paymentType;

public double amountSpent;

public double paymentDue;

public Membership() {

idNum = membershipNum;

amountSpent = paymentDue;

membershipNum++;

}

public static int getMembershipNum() {

return membershipNum;

}

public static void setMembershipNum(int membershipNum) {

Membership.membershipNum = membershipNum;

}

public int getIdNum() {

return idNum;

}

public void setIdNum(int idNum) {

this.idNum = idNum;

}

public int getMembershipType() {

return membershipType;

}

public void setMembershipType(int membershipType) {

this.membershipType = membershipType;

}

public double getAmountSpent() {

return amountSpent;

}

public void setAmountSpent(double amountSpent) {

this.amountSpent = amountSpent;

}

public double getPaymentDue() {

return paymentDue;

}

public void setPaymentDue(double paymentDue) {

this.paymentDue = paymentDue;

}

public int getPaymentType() {

return paymentType;

}

public void setPaymentType(int paymentType) {

this.paymentType = paymentType;

}

}

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!