Question: Write the code below in pseudocode! import java.util.Scanner; public class DiscountCalculator { private static Scanner scanner = new Scanner(System.in); public static void main(String[] args) {
Write the code below in pseudocode!
import java.util.Scanner;
public class DiscountCalculator {
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
boolean repeat;
String rating;
int policy;
double premium, rebate =0, net;
do {
policy = getPolicyYears();
premium = getPremiumAmount();
if(policy>3){
rating = getRating();
rebate = getDiscount(premium, policy, rating);
net = premium - rebate;
System.out.println("Policy Tenure : "+ policy);
System.out.println("Rating : " + rating);
System.out.printf("Premium Amount : $ %10.2f ",premium);
if(net!=0) {
System.out.printf("Discount Amount : $ %10.2f ",rebate);
System.out.printf("Net Premium Amount : $ %10.2f ",net);
}
}else{
System.out.println("Policy Tenure : "+ policy);
System.out.printf("Premium Amount : $ %10.2f ",premium);
System.out.println("Info *** you are not eligible for any discount ***");
}
System.out.println(" ");
repeat = repeat();
} while (repeat);
}
public static String getRating() {
String rating;
while (true) {
System.out.print("Enter rating \'Excellent\' or \'Above Average\' or \'Average\': ");
rating = scanner.nextLine();
if (rating.equals("Excellent")) break;
else if (rating.equals("Above Average")) break;
else if (rating.equals("Average")) break;
else {
System.out.println("Error: Invalid rating entered.");
}
}
return rating;
}
public static double getPremiumAmount() {
double premium = 0;
do {
try {
System.out.print("Enter premium amount: ");
String input = scanner.nextLine();
premium = Double.parseDouble(input);
} catch (NumberFormatException e) {
System.out.println("Error: Invalid number");
premium = 0;
}
} while (premium <= 0);
return premium;
}
public static int getPolicyYears() {
int policy = 0;
do {
try {
System.out.print("Enter the number of years policy policy: ");
String input = scanner.nextLine();
policy = Integer.parseInt(input);
} catch (NumberFormatException e) {
System.out.println("Error: Invalid number");
policy = 0;
}
} while (policy <= 0);
return policy;
}
public static double getDiscount(double premium, int years, String rating) {
if (years <= 3) return 0;
if (rating.equals("Excellent")) {
return premium * 0.15;
} else if (rating.equals("Above Average")) {
return premium * 0.10;
} else if (rating.equals("Average")) {
return premium * 0.05;
} else return 0;
}
public static boolean repeat() {
String repeat = "";
do {
System.out.print("Do you want to calculate again Y=Yes N=No: ");
repeat = scanner.nextLine();
} while (!(repeat.equals("Y") || repeat.equals("N")));
return repeat.equals("Y");
}
}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
