Assignment #1 Loan Calculator Solution

Concepts tested by this program:

          Set up and run java, javac, and an IDE (Eclipse) on your computer

          Create a class

          main method

variables

strings

          mathematical operators

          assignment operator

          input/output

          Eclipse IDE

Specifications
 
Develop a Loan Calculator (as a Java standalone application) to calculate and display the monthly payment for a loan.  The user will be asked to enter the loan amount, the interest rate, and the number of payments.  The formula used for such a calculation is:

For example, for a loan amount of $225,000 with the APR 10% and 360 payments, the monthly payment is:

Payment, loan amount, APR, 12.0, and 1.0 are real numbers; whereas N=number of payments is an integer.  If you wish to use other formulas, please feel free to use them.

 
Java Hints:

System.out.print("2 to the power of 3 is: ");

System.out.println(Math.pow(2.0, 3.0));   // Displays: 2 to the power of 3 is: 8.0

Application Requirements

·         Ask the user for the loan amount, interest rate and number of payments.

·         Remind the user the numeric values must be greater than 0.

·         Display a header for your application.

·         Use the Scanner class for input, and use System.out.print or System.out.println for output.

Assignment Requirements

·         Write pseudo-code in English showing the steps to solve the problem (detailed enough for someone else to write the code based on this algorithm, but not including “setup” like import statements or variable declarions).

·         Prepare a test table with expected results and actual results, in the following format:

Test Number
Input Variable Values
Expected Results (manually calculated)
Actual Results (from running the program)
Loan Amount
APR
Number of Payments 
  
Use as many tests as you need to check normal cases (like the above example) and boundary conditions (like 1 payment, or 0% APR).

·         Run the application twice, and provide screen shots of both runs.

·         Run it once using command-line Java (javac to compile, and java to run).  Your screen shot should show both compilation and execution. If your computer cannot find the javac or java commands, see the lecture slides explaining how to set the path for Java.

·         Run it again using an Integrated Development Environment (IDE).  The one used in class will be Eclipse. Provide a screen shot of the console output.  See the lecture slides explaining how to download and install Eclipse.

·         Turn in a Word or PDF document with pseudo-code and test results, screen shots of runs, and the java code you wrote (NOT the .class file) according to the following format. 

You will be uploading two .zip files for each assignment.  The first .zip file will contain all the files required for the assignment (design document, test results, screen shot of runs, and source code and will be named: LastNameFirstName_AssignmentX_Complete.  The second .zip file will only contain the .java files and will be named: LastNameFirstName_AssignmentX_Moss.  This .zip will not have any folders in it – only .java files.

Here’s an example for Assignment 1:

AlexanderRobert_Assignment1_Complete.zip [a compressed file containing the following]

                        PseudoCode_and_TestTable.docx

                        CmdLine_output.jpg

                        Eclipse_console_output.jpg

                        File1.java

AlexanderRobert_Assignment1_Moss.zip [a compressed file containing only the following]

                        File1.java

 

Example screen shots:






NAME__________________________

                                                                                       

Assignment 1 Grading Sheet

 

                                                                            

EXTERNAL DOCUMENTATION            24 (total)

CheckList for Assignment 1 is included and completed                    1 pt    _____

Algorithm Design                  

List ordered steps in English in to solve the problem                                 8 pts   _____ 

(detailed enough for someone else to write the code based on this algorithm)

Test Cases

Proper Format (Inputs, Expected Output, Runs Correctly)            2 pts   _____

4 test cases with valid data (unique input data for each case)        6 pts   _____

Assumptions (if any)                                                                                                  2 pts   _____

Lessons Learned                                                                                                                     5  pt _____

In 3+ paragraphs, highlight your lessons learned and learning experience from working on this project.  How did you do?  What have you learned?  What did you struggle with? How will you approach your next project differently?

 

PROGRAMMING   76 (total)

Programming Style

Consistent indentation is used                                                                            4 pts   _____

Appropriate identifiers are used                                                                         4 pts   _____

Internal class documentation (within source code)

Description of what class does                                                               6 pts   _____

Author’s Name                                                                                                   2 pts   _____

Appropriate comments within each section of the code             8 pts   _____

Java file compiles and runs                                                                                 14 pts  _____

Accurate output from additional test cases                                             20 pts  _____

Program user interface

Clear to user how data is to be entered                                       6 pts   _____

Output is easy to understand                                                                  6 pts   _____  

Program Details

Remind the user the APR must be greater than 0                                   4 pts   _____

Prints application header                                                                                    2 pts   _____

 

TOTAL POINTS                                                                                                                    _____ / 100    

Comments:
Powered by