Formula PAGOPRIN de Excel en Java

Cálculo de la formula PAGOPRIN de Excel implementada en Java.

La formula básica es esta

(saldoCapital * tasa) * (1 / (Math.pow(1 + tasa, plazo – cuotaActual + 1) – 1));

Va un ejemplo:

public class TestCalcularAmortizacion {

    public static void main(String[] args) {

        double deuda = 1000d;
        int plazo = 12;
        double tasa = 2.20d / 100;

        List resultado = calcular(deuda, plazo, tasa);

        for (CalculoDatos calculoDatos : resultado) {

            System.out.println("Cuota: " +  calculoDatos.cuota + " - Saldo Capital: " + calculoDatos.saldoCapital + " - Amort.Cap.: " + calculoDatos.amortizacionCapital + " - Interes: " + calculoDatos.interes);
            // resultado...
            // Cuota: 1 - Saldo Capital: 1000.0 - Amort.Cap.: 73.72488492849683 - Interes: 22.000000000000004
            // Cuota: 2 - Saldo Capital: 926.2751150715031 - Amort.Cap.: 75.34683239692382 - Interes: 20.378052531573072
            // Cuota: 3 - Saldo Capital: 850.9282826745793 - Amort.Cap.: 77.00446270965618 - Interes: 18.72042221884075

        }

    }

    private static List calcular(double deuda, int plazo, double tasa) {

        List calculos = new ArrayList();

        double saldoCapitalAnterior = 0d;
        double amortizacionCapitalAnterior = 0d;

        for (int cuotaActual = 1; cuotaActual <= plazo; cuotaActual++) {

            CalculoDatos calculoDatos = new TestCalcularAmortizacion().new CalculoDatos();
            calculoDatos.cuota = cuotaActual;
            if (cuotaActual == 1) {
                calculoDatos.saldoCapital = deuda;
            } else {
                calculoDatos.saldoCapital = saldoCapitalAnterior - amortizacionCapitalAnterior;
            }

            // ---
            // FORMULA PAGOPRIN llevada a Java
            // ---
            calculoDatos.amortizacionCapital = (calculoDatos.saldoCapital * tasa) * (1 / (Math.pow(1 + tasa, plazo - cuotaActual + 1) - 1));
            // --
            calculoDatos.interes = calculoDatos.saldoCapital * tasa;

            calculos.add(calculoDatos);

            saldoCapitalAnterior = calculoDatos.saldoCapital;
            amortizacionCapitalAnterior = calculoDatos.amortizacionCapital;

        }

        return calculos;

    }

    class CalculoDatos {

        int cuota;

        double saldoCapital;

        double amortizacionCapital;

        double interes;

    }

}
Java