Skip to content

Commit

Permalink
fixed bug implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
Keith-sys committed Feb 8, 2023
1 parent da18287 commit 4a235ed
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 11 deletions.
20 changes: 14 additions & 6 deletions src/main/java/org/keith/core/LoanInput.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,30 +7,38 @@ public class LoanInput{
paymentAmount,
grossIncome;
private Double interest;
private boolean isRunningterms = true;
SingletonScanner singletonScanner = SingletonScanner.getInstance();
Scanner scanner = singletonScanner.getScanner();

// Check Terms based on the type of loan
// Check Terms based on the type of loan
private void checkTerms(Integer maxTerms){
while(true) {
while(isRunningterms) {
if (mustBeLessThanMaxTerms(maxTerms)) {
paymentAmount = getPaymentAmount();
} else {
isRunningterms = false;
} else if(ifGreaterThanMaxTerms(maxTerms)){
System.out.println("Maximum allowed term is " + maxTerms + " years");
getTermsAmount();
terms = getTermsAmount();
}
break;
// break;
}
}

private Boolean mustBeLessThanMaxTerms(Integer maxTerms){
return terms <= maxTerms;
}

private Boolean ifGreaterThanMaxTerms(Integer maxTerms){
return terms >= maxTerms;
}

public void getLoanInfo(Integer maxTerms){
principle = getPrincipleAmount();
terms = getTermsAmount();
checkTerms(maxTerms);


interest = getInterest();
grossIncome = getGrossIncome();
Amortization amortization = new Amortization(principle,
Expand Down Expand Up @@ -69,4 +77,4 @@ private Integer getGrossIncome(){
return Integer.parseInt(scanner.nextLine());
// scanner.nextLine();
}
}
}
8 changes: 3 additions & 5 deletions src/main/java/org/keith/menu/Menu.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public void LOGO() {
LoanInput mi = new LoanInput();

public void getMenuInput(){
MAIN_LOOP:while(isRunning){
while(isRunning){
try {
getInput();

Expand All @@ -53,16 +53,14 @@ public void getMenuInput(){

// Determine the input regardless of it's written in upper case or lower case
MenuCommand mc = checkCommand(input.toUpperCase());

switch (mc) {
case MORTGAGE -> mi.getLoanInfo(maxMortgageTerms);
case CAR -> mi.getLoanInfo(maxVehicleTerms);
case HELP -> showMenu();
case EXIT -> {
break MAIN_LOOP;
}
case EXIT -> isRunning = false;
default -> getInput();
}

} catch(Exception e){
System.out.println("Error: " + e.getMessage() + " caused by " + e.getCause());
}
Expand Down

0 comments on commit 4a235ed

Please sign in to comment.