import java.util.*;
public class B {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Choose\n1)Calculate Payment Amount\n2)Calculate Amortized Schedule");
        int choice = sc.nextInt();
        double loan, rate, payment;
        int payments;
        System.out.println("What is the initial loan amount?");
        loan = sc.nextDouble();
        System.out.println("What is the interest rate(5=5%)? ");
        rate = sc.nextDouble()/100;
        System.out.println("How many payments will be made? ");
        payments = sc.nextInt();
        payment = calc(loan, rate, payments);
        if (choice == 1) {
            System.out.println("Payment amount for each payment is: " + payment);
        } else {
            amort(loan, rate, payment, payments);
        }
        sc.close();
    }

    public static double calc(double loan, double rate, double payments) {
        double payment;
        payment = loan / (((Math.pow(1 + rate, payments) - 1)) / (rate * Math.pow(1 + rate, payments)));
        return payment;
    }

    public static void amort(double loan, double rate, double payment, int years) {
        double interest, newBalance, principle;
        System.out.println("Year    Balance    Payment    Interest    Principle    New Balance");
        for(int yr = 0; yr < years; yr++) {
            interest = Math.round(rate * loan * 100.0) / 100.0;
            principle = Math.round((payment - interest) * 100.0) / 100.0;
            newBalance = Math.round((loan - principle) * 100.0) / 100.0;
            System.out.println((yr + 1) + "    " + loan + "    " + payment + "    " + interest + "    " + principle + "    " + newBalance);
            loan = newBalance;
        }
    }
}