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
Get step-by-step solutions from verified subject matter experts
