/* * Main.java * * Created on March 1, 2007, 5:43 PM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package lab05; import javax.swing.*; import java.text.*; public class Main { // The main method required for an application program public static void main( String[] args ) { final int MAX_NUMBER = 7; Loan ln1 = null; // Variable to hold an instance of the Loan class Loan ln2 = null; // Same as above Loan ln3 = null; // Same Loan ln4 = null; // Same Loan ln5 = null; // Same Loan ln6 = null; // Same Loan ln7 = null; // Same Loan ln = null; DecimalFormat prec2 = new DecimalFormat("$#.00"); String borrowerNameStr = ""; // Holds Borrower's name entered by user String loanIdStr = ""; // Holds Loan's ID number as string, entered by user int loanId = 0; // Loan's ID number as int String propCostStr = ""; // Property cost as string, entered by user double propCost = 0.0; // Property cost as double String downPaymentStr = ""; // Down payment as string, entered by user double downPayment = 0.0; // Down paymnet as double String numberOfYearsStr = ""; // Number of years for loan as string, entered by user int numberOfYears = 0; // Number of years for loan as integer int count = 0; // The number of Loans created String outputStr = ""; // String for output display to user String outputStr2 = "";// String for output display to user String msgStr = ""; // Holds message for display to user int resp = 0; // User's response from showConfirmDialog method while (true) { // Loop to input data on each Loan count++; // Read in borrower name from user as a string borrowerNameStr = JOptionPane.showInputDialog("Enter Borrower name"); // Read in loan ID number from user as a string loanIdStr = JOptionPane.showInputDialog("Enter loan ID number"); // Convert from type String to type int loanId = Integer.parseInt(loanIdStr.trim()); // Read in property cost from user as a string propCostStr = JOptionPane.showInputDialog("Enter property cost"); // Convert from type String to type double propCost = Double.parseDouble(propCostStr.trim()); // Read in down payment from user as a string downPaymentStr = JOptionPane.showInputDialog("Enter down payment"); // Convert from type String to type double downPayment = Double.parseDouble(downPaymentStr.trim()); // Read in number of years for loan from user as a string numberOfYearsStr = JOptionPane.showInputDialog("Enter number of years for loan"); // Convert from type String to type integer numberOfYears = Integer.parseInt(numberOfYearsStr.trim()); // Create Loan instance ln = new Loan(borrowerName, loanId, propCost, downPayment, numberOfYears); // Assign new Loan object to next available Loan variable switch (count) { case 1: ln1 = ln; break; case 2: ln2 = ln; break; case 3: ln3 = ln; break; case 4: ln4 = ln; break; case 5: ln5 = ln; break; case 6: ln6 = ln; break; case 7: ln7 = ln; break; } outputStr += count + ". " + ln.toString() + "\n"; if (count < MAX_NUMBER) { msgStr = "\nMax number of allowed Loans is: " + MAX_NUMBER + "\nContinue?"; resp = JOptionPane.showConfirmDialog(null, outputStr + msgStr, "Confirm", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (resp == JOptionPane.NO_OPTION) break; } else { msgStr = "Program cannot handle any more additional Loans."; JOptionPane.showMessageDialog(null, outputStr + msgStr, "Results", JOptionPane.INFORMATION_MESSAGE); break; } }//end while outputStr2 = "Loan list:\n"; for (int i = 1; i <= count; i++){ switch (i) { case 1: ln = ln1; break; case 2: ln = ln2; break; case 3: ln = ln3; break; case 4: ln = ln4; break; case 5: ln = ln5; break; case 6: ln = ln6; break; case 7: ln = ln7; break; } outputStr2 += "\n" + i + ". " + ln.getBorrowerName() + "\n ID No: " + ln.getLoanId() + "\n Property Cost: " + prec2.format(ln.getPropertyCost()) + "\n Loan Amount: " + prec2.format(ln.getPropertyCost()-ln.getDownPayment()) + "\n Number Of Years: " + ln.getNumberOfYears() + "\n Annual Interest Rate: " + ln.getInterestRate() + "%" + "\n Loan Payment: " + prec2.format(ln.calculateMonthlyPayment()) + "\n"; } JOptionPane.showMessageDialog(null, outputStr2, "Loan Summary", JOptionPane.INFORMATION_MESSAGE); System.exit(0); } }