\Java
BankLoan.java
//******************************************************************** // // BankLoan.java // Program title: Bank Loan Calculator // //******************************************************************** // // Program Description and Design Overview: // // // Input Requirements: // Initial loan balance float // Annual interest rate float // Total number of months integer // 1st month to be calculated integer // 2nd month to be calculated integer // 3rd month to be calculated integer // 4th month to be calculated integer // // Output Requirements: // Program title message followed by a blank line // Input prompt messages that ask the user to input the three balues for the laon terms // An output message that shows the monthly payment with money value formatted as currency followed by blank line // An input prompt message that askes the user for the 1st month // An outpot message that shows the inputted month value and balance remaining after that month's payment has been made, with money value formatted as currnecy followed by an extra blank line // Prompt and output messages for 2nd, 3rd, and 4th months // // // Program Preconditions: // The user must typed valid numeric values in response to all input prompt messages. // // //******************************************************************** import cs1.Keyboard; // imports the Keyboard class so the program can accept input from the keyboard import java.text.NumberFormat; // imports the NumberFormat class so that outputs may be diplayed in currency format public class BankLoan { //----------------------------------------------------------------- // A comment that must be replaced by comment(s) describing the // program's main method. //----------------------------------------------------------------- public static void main (String[] args) { float StartBal, //the initial loan balance APR, //the annual percentage rate monthlyRate, //the monthly percentage rate monthlyPmt, //the amount of the monthly payment remainingBal; //the remaining balance after "x" (curMonth) number of payments have been made int NumMonths, //the total number of months payments curMonth = 0; System.out.println ("Bank Loan Calculator"); //Prints program title System.out.println (); System.out.print ("Enter initial loan balance in dollars and cents, e.g., 10575.50: "); // prompts user for initial loan balance StartBal = Keyboard.readFloat(); //inputs user response to variable StartBal for the initial loan balance System.out.print ("Enter annual interest rate as a percent value (with decimal but no % sign): "); // prompts user for annual interest rate APR = Keyboard.readFloat(); // inputs user response to variable APR for the annual percentage rate monthlyRate = ((APR / 100) / 12); // computes the monthly interest rate to variable monthlyRate System.out.print ("Enter total number of months for the loan: "); //prompts user for total number of months (payments) for the loan NumMonths = Keyboard.readInt(); //inputes user response to variable NumMonths for the number of payments monthlyPmt = (float)((monthlyRate * StartBal) / (1.0-(Math.pow((1.0 + monthlyRate),(curMonth-NumMonths))))); //calculates the monthly payment NumberFormat currency = NumberFormat.getCurrencyInstance(); //defines the variable currency as a format of converting text to currency format System.out.print ("Monthly Payment : " + currency.format(monthlyPmt) ); //outputs the monthly payment on the screen in currency format System.out.println (); //prints extra blank line System.out.println (); //prints extra blank line System.out.print ("Enter payment number of 1st month to be calculated: "); //prompts user for the payment number of the first month to be calculated curMonth = Keyboard.readInt(); //stores user input into the integer variable curMonth remainingBal=monthlyPmt * ((float)(1.0-((Math.pow((1.0+monthlyRate),(curMonth - NumMonths)))))/monthlyRate); //calculates the remaining balance and stores it in the float variable remainingBal System.out.println ("Balance remaining after month " + curMonth + " payment = " + currency.format(remainingBal)); //prints the remaining balance after the 1st number of months have been paid System.out.println (); //prints extra blank line System.out.print ("Enter payment number of 2nd month to be calculated: "); //prompts user for the payment number of the 2nd month to be calculated curMonth = Keyboard.readInt(); //stores user input into the integer variable curMonth remainingBal=monthlyPmt * ((float)(1.0-((Math.pow((1.0+monthlyRate),(curMonth - NumMonths)))))/monthlyRate); //calculates the remaining balance and stores it in the float variable remainingBal System.out.println ("Balance remaining after month " + curMonth + " payment = " + currency.format(remainingBal)); //prints the remaining balance after the 2nd number of months have been paid System.out.println (); //prints extra blank line System.out.print ("Enter payment number of 3rd month to be calculated: "); //prompts user for the payment number of the third month to be calculated curMonth = Keyboard.readInt(); //stores user input into the integer variable curMonth remainingBal=monthlyPmt * ((float)(1.0-((Math.pow((1.0+monthlyRate),(curMonth - NumMonths)))))/monthlyRate); //calculates the remaining balance and stores it in the float variable remainingBal System.out.println ("Balance remaining after month " + curMonth + " payment = " + currency.format(remainingBal)); //prints the remaining balance after the 3rd number of months have been paid System.out.println (); //prints extra blank line System.out.print ("Enter payment number of 4th month to be calculated: "); //prompts user for the payment number of the fourth month to be calculated curMonth = Keyboard.readInt(); //stores user input into the integer variable curMonth remainingBal=monthlyPmt * ((float)(1.0-((Math.pow((1.0+monthlyRate),(curMonth - NumMonths)))))/monthlyRate); //calculates the remaining balance and stores it in the float variable remainingBal System.out.println ("Balance remaining after month " + curMonth + " payment = " + currency.format(remainingBal)); //prints the remaining balance after the 4th number of months have been paid System.out.println (); //prints extra blank line } //end main } // end class BankLoan