{\rtf1\ansi\ansicpg1252\deff0 {\fonttbl {\f0\fnil\fcharset0\fprq0\fttruetype Times New Roman;} {\f1\fnil\fcharset0\fprq0\fttruetype Courier New;} {\f2\fnil\fcharset0\fprq0\fttruetype Arial;} {\f3\fnil\fcharset0\fprq0\fttruetype Dingbats;} {\f4\fnil\fcharset0\fprq0\fttruetype Symbol;}} {\colortbl \red0\green0\blue0; \red255\green255\blue255;} {\stylesheet {\s1\fi-431\li720\sbasedon28\snext28Contents 1;} {\s2\fi-431\li1440\sbasedon28\snext28Contents 2;} {\s3\fi-431\li2160\sbasedon28\snext28Contents 3;} {\s8\fi-431\li720\sbasedon28Lower Roman List;} {\s5\tx431\sbasedon24\snext28Numbered Heading 1;} {\s6\tx431\sbasedon25\snext28Numbered Heading 2;} {\s7\fi-431\li720Square List;} {\*\cs11\sbasedon28Endnote Text;} {\s4\fi-431\li2880\sbasedon28\snext28Contents 4;} {\s9\fi-431\li720Diamond List;} {\s10\fi-431\li720Numbered List;} {\*\cs12\fs20\superEndnote Reference;} {\s13\fi-431\li720Triangle List;} {\s14\tx431\sbasedon26\snext28Numbered Heading 3;} {\s15\fi-431\li720Dashed List;} {\s16\fi-431\li720\sbasedon10Upper Roman List;} {\s17\sb440\sa60\f2\fs24\b\sbasedon28\snext28Heading 4;} {\s18\fi-431\li720Heart List;} {\s34\fi-431\li720Box List;} {\s20\fi-431\li720\sbasedon10Upper Case List;} {\s21\fi-431\li720Bullet List;} {\s22\fi-431\li720Hand List;} {\*\cs23\fs20\sbasedon28Footnote Text;} {\s24\sb440\sa60\f2\fs34\b\sbasedon28\snext28Heading 1;} {\s25\sb440\sa60\f2\fs28\b\sbasedon28\snext28Heading 2;} {\s19\qc\sb240\sa120\f2\fs32\b\sbasedon28\snext28Contents Header;} {\s27\fi-431\li720Tick List;} {\s26\sb440\sa60\f2\fs24\b\sbasedon28\snext28Heading 3;} {\s29\fi-431\li720\sbasedon10Lower Case List;} {\s30\li1440\ri1440\sa120\sbasedon28Block Text;} {\s36\f1\sbasedon28Plain Text;} {\s32\tx1584\sbasedon5\snext28Section Heading;} {\s33\fi-431\li720Implies List;} {\s28\f0\fs24\lang1033Normal;} {\s35\fi-431\li720Star List;} {\*\cs31\fs20\superFootnote Reference;} {\s37\tx1584\sbasedon5\snext28Chapter Heading;}} \kerning0\cf0\ftnbj\fet2\ftnstart1\ftnnar\aftnnar\ftnstart1\aftnstart1\aenddoc\revprop3{\info\uc1}\deftab720\viewkind1\paperw12240\paperh15840\margl1440\margr1440\widowctrl \sectd\sbknone\colsx360\pgncont\ltrsect \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Josh Holtrop}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 2008-03-24}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch CS 621}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Project 3}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\b\lang1033{\*\listtag0}\abinodiroverride\ltrch Program Output:}{\s28\f0\fs24\b\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch josh@morpheus [~/cs621/proj3] Fri Mar 21 16:52:51 (2)}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 137 $ java Project3}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Please enter the applicant's name (enter nothing to quit):}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Dave}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the interest rate: 8.0}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the number of years: 1}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the principal balance: 10000}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Please select whether the loan is a simple interest loan or an amortized loan:}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Select:}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 1) simple interest loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 2) amortized loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 1}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Simple Interest Loan for Dave}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Principal : $10,000.00}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Interest Rate : 8.00}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Length of Loan : 1 years}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Monthly Payment : $900.00}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Please enter the applicant's name (enter nothing to quit):}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch David}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the interest rate: 8}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the number of years: 1}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the principal balance: 10000}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Please select whether the loan is a simple interest loan or an amortized loan:}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Select:}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 1) simple interest loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 2) amortized loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 2}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Full Amortized Loan for David}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Principal : $10,000.00}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Interest Rate : 8.00}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Length of Loan : 1 years}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Monthly Payment : $869.88}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Please enter the applicant's name (enter nothing to quit):}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Josh}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the interest rate: 6.25}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the number of years: 30}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the principal balance: 150000}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Please select whether the loan is a simple interest loan or an amortized loan:}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Select:}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 1) simple interest loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 2) amortized loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 1}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Simple Interest Loan for Josh}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Principal : $150,000.00}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Interest Rate : 6.25}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Length of Loan : 30 years}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Monthly Payment : $1,197.92}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Please enter the applicant's name (enter nothing to quit):}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Greg}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the interest rate: 6}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the number of years: 15}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Enter the principal balance: 140000}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Please select whether the loan is a simple interest loan or an amortized loan:}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Select:}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 1) simple interest loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 2) amortized loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch 2}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Full Amortized Loan for Greg}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Principal : $140,000.00}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Interest Rate : 6.00}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Length of Loan : 15 years}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Monthly Payment : $1,181.40}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Please enter the applicant's name (enter nothing to quit):}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\b\lang1033{\*\listtag0}\abinodiroverride\ltrch Makefile:}{\s28\f0\fs24\b\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch all: $(patsubst %.java,%.class,$(wildcard *.java))}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch %.class: %.java}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab javac $^}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch .PHONY: javadoc}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch javadoc:}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab -mkdir doc}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab javadoc -d doc *.java}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch clean:}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab -rm -f *.class}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab -rm -rf doc}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\b\lang1033{\*\listtag0}\abinodiroverride\ltrch Project3.java:}{\s28\f0\fs24\b\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * Project3 is a driver class for the LoanApplication system.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public class Project3}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * The main method is called when the user first starts the program.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * @param args any command-line arguments}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public static void main(String[] args)}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch LoanApplication la = new LoanApplication();}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch la.run();}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\b\lang1033{\*\listtag0}\abinodiroverride\ltrch LoanApplication.java:}{\s28\f0\fs24\b\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch import java.io.*;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * LoanApplication is the main class for creating a loan and calculating payments.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public class LoanApplication}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch private Loan m_loan;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch private String m_summary;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * The run method provides a simple command-line interface loop.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * It continually prompts for information for creating a new loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * and displays the summary of each loan entered.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public void run()}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch PrintSpooler spooler = PrintSpooler.getSpooler();}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch try}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch for (;;)}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch BufferedReader br = new BufferedReader(new InputStreamReader(System.in));}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch System.out.println("Please enter the applicant's name (enter nothing to quit):");}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch String name = br.readLine();}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch if (name.equals(""))}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch break;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch System.out.print("Enter the interest rate: ");}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch double rate = Double.parseDouble(br.readLine());}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch System.out.print("Enter the number of years: ");}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch int years = Integer.parseInt(br.readLine());}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch System.out.print("Enter the principal balance: ");}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch double principal = Double.parseDouble(br.readLine());}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch int type = 0;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch while (type < 1 || type > 2)}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch System.out.println("Please select whether the loan is a simple interest loan or an amortized loan:");}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch System.out.println("Select:");}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch System.out.println(" 1) simple interest loan");}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch System.out.println(" 2) amortized loan");}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch type = Integer.parseInt(br.readLine());}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch Loan loan = (type == 1)}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch ? new SimpleLoan(name, rate, years, principal)}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch : new AmortizedLoan(name, rate, years, principal);}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch System.out.println("");}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch spooler.printDocument(loan.process());}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch catch (Exception e) \{ \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\b\lang1033{\*\listtag0}\abinodiroverride\ltrch PrintSpooler.java:}{\s28\f0\fs24\b\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * A class implementing the "singleton" design pattern for printing.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public class PrintSpooler}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /* The reference to the single PrintSpooler object}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * that will be used to print */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch private static PrintSpooler spooler;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * This method returns the singleton to use for printing documents.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public static PrintSpooler getSpooler()}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch if (spooler == null)}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch spooler = new PrintSpooler();}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch return spooler;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * Print a document}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * @param s the document (string) to print}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public void printDocument(String s)}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch System.out.println(s);}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\b\lang1033{\*\listtag0}\abinodiroverride\ltrch Loan.java:}{\s28\f0\fs24\b\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * This class provides a base class for loan types.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * It uses the "template" design pattern where extending concrete}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * classes can override their own specific functionality.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public abstract class Loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch protected String m_name;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch protected double m_interestRate;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch protected int m_length;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch protected double m_principal;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch protected double m_monthlyPayment;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * Construct a Loan object}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * @param name the name of the loanee}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * @param rate the interest rate of the loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * @param years the length of the loan in years}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * @param amount the initial principal of the loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public Loan(String name, double rate, int years, double amount)}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch m_name = name;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch m_interestRate = rate;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch m_length = years;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch m_principal = amount;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * process() will calculate the monthly payment of the loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * @return a summary of the loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public String process()}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch calcMonthlyPayment();}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch return makeSummary();}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * calcMonthlyPayment will calculate the monthly payment for the loan.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * It is abstract and so implementing classes will have to provide}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * a definition for this method.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public abstract void calcMonthlyPayment();}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * makeSummary will create a textual description of the loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * @return a summary of the loan in text form}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public String makeSummary()}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch return String.format(}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch "%s for %s%n" +}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch "%-16s: $%,.2f%n" +}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch "%-16s: %.2f%n" +}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch "%-16s: %d years%n" +}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch "%-16s: $%,.2f%n",}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch toString(), m_name,}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch "Principal", m_principal,}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch "Interest Rate", m_interestRate,}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch "Length of Loan", m_length,}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch "Monthly Payment", m_monthlyPayment);}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\b\lang1033{\*\listtag0}\abinodiroverride\ltrch SimpleLoan.java:}{\s28\f0\fs24\b\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * SimpleLoan provides a concrete implementation of a Loan object.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public class SimpleLoan extends Loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * This constructor simply calls the contructor from the Loan class.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public SimpleLoan(String name, double rate, int years, double amount)}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch super(name, rate, years, amount);}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /* Return the loan type as a string */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public String toString()}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch return "Simple Interest Loan";}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * Calculate the monthly payment for a SimpleLoan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public void calcMonthlyPayment()}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch double adjMonthlyRate = m_interestRate / 100.0 / 12.0;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch double lengthInMonths = m_length * 12;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch m_monthlyPayment = (m_principal * (adjMonthlyRate * lengthInMonths + 1)) / lengthInMonths;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\b\lang1033{\*\listtag0}\abinodiroverride\ltrch AmortizedLoan.java:}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * SimpleLoan provides a concrete implementation of a Loan object.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public class SimpleLoan extends Loan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * This constructor simply calls the contructor from the Loan class.}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public SimpleLoan(String name, double rate, int years, double amount)}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch super(name, rate, years, amount);}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /* Return the loan type as a string */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public String toString()}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch return "Simple Interest Loan";}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch /**}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch * Calculate the monthly payment for a SimpleLoan}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch */}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch public void calcMonthlyPayment()}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \{}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch double adjMonthlyRate = m_interestRate / 100.0 / 12.0;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch double lengthInMonths = m_length * 12;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch m_monthlyPayment = (m_principal * (adjMonthlyRate * lengthInMonths + 1)) / lengthInMonths;}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\abinodiroverride\ltrch \}}{\s28\f1\fs18\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f1\fs18\lang1033{\*\listtag0}\par}}