Computer Science 202
Introduction to Programming
Fall 2012, The College of Saint Rose
NoInterestLoan BlueJ Project
Click here to download a BlueJ project for NoInterestLoan.
NoInterestLoan Source Code
The Java source code for NoInterestLoan is below. Click on a file name to download it.
/* * Example NoInterestLoan: a program that uses JOptionPane dialog * boxes to read in a loan amount and monthly payment, and report output * for the number of payments needed to pay of a no-interest loan, and * any amount after those full payments have been made. * * Jim Teresco, The College of Saint Rose, CSC 202, Fall 2012 * * $Id: NoInterestLoan.java 1908 2012-09-20 03:11:12Z terescoj $ */ // a new import to use the message dialogs instead of Scanners // and System.out.println for our I/O import javax.swing.JOptionPane; public class NoInterestLoan { public static void main(String[] args) { // We declare but do not initialize the String variable // that will be used for temporary storage of String inputs. String input; // Get the loan amount: this will bring up a "dialog box" with the // message we provide with a text field where input can be typed, and // will return to us a String representation of what was typed in. input = JOptionPane.showInputDialog("How many dollars do you wish to borrow?"); // Now, we have that amount as a String. We really want it to be // an int. Scanners were able to convert for us -- all we had to // do was use the nextInt method of the Scanner. // // Here, we need to use a method provided by Java's Integer class // to do the conversion: int loan = Integer.parseInt(input); // Get the monthly payment // Note that we reuse the input variable, since we no longer need // the String it contained from our first prompt. input = JOptionPane.showInputDialog("How much can you afford to pay per month?"); // And again convert to an int int payment = Integer.parseInt(input); // Now, we compute the number of months we need to make full payments int monthsToPayInFull = loan/payment; // Report that result with a "message dialog" which will be an // output-only popup window. JOptionPane.showMessageDialog(null, "You will make payments in full of $" + payment + " for " + monthsToPayInFull + " months."); // There may be some remaining money to pay back after the last payment // in full, let's see how much. int lastPayment = loan % payment; // If there is no last payment due, we do not need to print anything, so // the following is enclosed in an if statement that happens only when // there is a nonzero last payment to include. if (lastPayment > 0) { JOptionPane.showMessageDialog(null, "Then in month " + (monthsToPayInFull + 1) + " you pay the final $" + lastPayment + "."); } } }