Drill

ProblemsJava › finance

Months to clear the loan

hardfinanceMathSimulationJava

A loan charges whole-percent interest each month and takes a fixed monthly payment. Simulate month by month to see how long, if ever, it takes to clear.

loanPayoff(loanMinor: int, monthlyPayment: int, monthlyRatePercent: int) → int

Java needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.

Solve it in Python →

Where you start

int loanPayoff(int loanMinor, int monthlyPayment, int monthlyRatePercent) {
    
}

Worked examples

CallResult
loanPayoff(100, 30, 0)4
loanPayoff(100, 100, 0)1
loanPayoff(50, 10, 0)5
loanPayoff(100, 50, 10)3

Hint

Walk the loop with a guard count; if you run out of iterations, the debt never dies.

Reference solution in Java
int loanPayoff(int loanMinor, int monthlyPayment, int monthlyRatePercent) {
    int balance = loanMinor;
    int months = 0;
    while (balance > 0 && months < 1200) {
        balance += (balance * monthlyRatePercent) / 100;
        balance -= monthlyPayment;
        months++;
    }
    return balance > 0 ? -1 : months;
}

The same problem in another language

More finance problems in Java