please provide a very detailed explanation on this program
import java.util.Scanner;
public class InflationRateCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Get user's name
System.out.print("Enter your name: ");
String name = scanner.nextLine();
while (true) {
// Display menu options
System.out.println("\nWelcome " + name + ", to the Inflation Rate for Goods and Services Calculator\n");
System.out.println("1. Calculate inflation rate");
System.out.println("2. Exit");
System.out.print("\nEnter your choice: ");
int choice = scanner.nextInt();
if (choice == 1) {
// Get product name
System.out.print("\nEnter product name: ");
scanner.nextLine(); // Consume the newline character left by nextInt()
String productName = scanner.nextLine();
// Get previous year
System.out.print("Enter previous year: ");
int previousYear = scanner.nextInt();
// Get current year
System.out.print("Enter current year: ");
int currentYear = scanner.nextInt();
// Get current CPI data
System.out.print("Enter current price: ");
double currentCpi = scanner.nextDouble();
// Get previous CPI data
System.out.print("Enter previous price: ");
double previousCpi = scanner.nextDouble();
// Calculate inflation rate
double inflationRate = (currentCpi - previousCpi) / previousCpi * 100;
// Round off inflation rate to two decimal places
inflationRate = Math.round(inflationRate * 100.0) / 100.0;
// Display results
System.out.println("\nInflation rate for " + previousYear + "-" + currentYear + " (" + productName + ") is " + inflationRate + "%");
System.out.println("\nThank you, " + name + ", for using our inflation rate calculator!");
// Ask user if they want to calculate again
System.out.print("\nDo you want to calculate again? (Y/N) ");
scanner.nextLine(); // Consume the newline character left by nextDouble()
String calculateAgain = scanner.nextLine();
if (calculateAgain.equalsIgnoreCase("N")) {
break; // Exit loop if user chooses to not calculate again
}
} else if (choice == 2) {
System.out.println("\nThank you for using our inflation rate calculator. Goodbye, " + name + "!");
break; // Exit loop if user chooses to exit
} else {
System.out.println("\nInvalid choice. Please enter 1 or 2.\n");
}
}
scanner.close();
}
}
import java.util.Scanner;
public class InflationRateCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Get user's name
System.out.print("Enter your name: ");
String name = scanner.nextLine();
while (true) {
// Display menu options
System.out.println("\nWelcome " + name + ", to the Inflation Rate for Goods and Services Calculator\n");
System.out.println("1. Calculate inflation rate");
System.out.println("2. Exit");
System.out.print("\nEnter your choice: ");
int choice = scanner.nextInt();
if (choice == 1) {
// Get product name
System.out.print("\nEnter product name: ");
scanner.nextLine(); // Consume the newline character left by nextInt()
String productName = scanner.nextLine();
// Get previous year
System.out.print("Enter previous year: ");
int previousYear = scanner.nextInt();
// Get current year
System.out.print("Enter current year: ");
int currentYear = scanner.nextInt();
// Get current CPI data
System.out.print("Enter current price: ");
double currentCpi = scanner.nextDouble();
// Get previous CPI data
System.out.print("Enter previous price: ");
double previousCpi = scanner.nextDouble();
// Calculate inflation rate
double inflationRate = (currentCpi - previousCpi) / previousCpi * 100;
// Round off inflation rate to two decimal places
inflationRate = Math.round(inflationRate * 100.0) / 100.0;
// Display results
System.out.println("\nInflation rate for " + previousYear + "-" + currentYear + " (" + productName + ") is " + inflationRate + "%");
System.out.println("\nThank you, " + name + ", for using our inflation rate calculator!");
// Ask user if they want to calculate again
System.out.print("\nDo you want to calculate again? (Y/N) ");
scanner.nextLine(); // Consume the newline character left by nextDouble()
String calculateAgain = scanner.nextLine();
if (calculateAgain.equalsIgnoreCase("N")) {
break; // Exit loop if user chooses to not calculate again
}
} else if (choice == 2) {
System.out.println("\nThank you for using our inflation rate calculator. Goodbye, " + name + "!");
break; // Exit loop if user chooses to exit
} else {
System.out.println("\nInvalid choice. Please enter 1 or 2.\n");
}
}
scanner.close();
}
}