DISCOUNT CALCULATOR (OOP)
import java.util.Scanner;
public class MedDiscount {
// METHOD WITH VARARGS TO GET THE TOTAL AMOUNT
public double calculate_Total(double...amounts){
double totalAmount = 0;
for(double med : amounts){
totalAmount += med;
}
return totalAmount;
}
//METHOD TO CALCULATE THE DISCOUNT_RATE
public double Discount_Rate(double totalAmount){
double rate = 0.0;
if(totalAmount > 5000 && totalAmount <= 15000){
rate = 0.5;
}
else if(totalAmount > 15000 && totalAmount <= 20000){
rate = 1.0;
}
else if(totalAmount > 20000){
rate = 1.5;
}
return totalAmount * rate;
}
// METHOD TO CATEGORISE A CUSTOMER BASED ON AMOUNT.
public String Category(double totalAmount){
String category = null;
if(totalAmount > 5000 && totalAmount <= 15000){
category = "AVERAGE PURCHASE AMOUNT - 5% Discount";
}
else if(totalAmount > 15000 && totalAmount <= 20000){
category = "HIGH PURCHASE AMOUNT - 10% Discount";
}
else if(totalAmount > 20000){
category = "HIGH PURCHASE AMOUNT - 15% Discount";
}
else {
category = "NO DISCOUNT";
}
return category;
}
}
// ACTUAL CLASS AND MAIN METHOD FOR EXECUTION
class App{
public static void main(String[] args) {
MedDiscount haz = new MedDiscount();
Scanner Hafiz = new Scanner(System.in);
System.out.print("ENTER NUMBER OF ITEMS PURCHASED: ");
int Num_of_Items = Hafiz.nextInt();
double[] Num_of_Items_bought = new double[Num_of_Items];
for (int i = 0; i < Num_of_Items; i++) {
System.out.print("Enter price of item " + (i + 1) + ": Le ");
Num_of_Items_bought[i] = Hafiz.nextDouble();
}
// CALCULATE USING VARARGS METHOD
double totalAmount = haz.calculate_Total(Num_of_Items_bought);
double discount = haz.Discount_Rate(totalAmount);
double finalPrice = totalAmount - discount;
String category = haz.Category(totalAmount);
System.out.println("\nPurchase category: " + category);
System.out.println("Total Amount: Le " + totalAmount);
System.out.println("Discount Amount: Le " + discount);
System.out.println("Final Price after discount: Le " + finalPrice);
}
}
MOHAMED ALPHA KAMARA (HAFIZ)
I - 24 - 64179
B.SC. (HONS) INFORMATION TECHNOLOGY
Comments
Post a Comment