我没有让这个程序正确显示我的分期付款我能得到一些帮助,谢谢......
package Loops;
import java.util.Scanner;
/**
*
*
*/
public class program {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//variabled decleared
double rate;
double payment;
//input
System.out.print("Enter Loan Amount:");
double principal = input.nextDouble();
System.out.print("Enter Annual Interest:");
double interest = input.nextDouble();
System.out.print("Total payments per year:");//12=monthly,4= quartely,2=semi-annually and 1=annually
double period = input.nextDouble();
System.out.print("Enter Loan Length :");
int length = input.nextInt();
//proces
double n = period * length;
rate = interest / 100;
double monthly_rate = rate / period;
payment = principal * (principal * (monthly_rate * Math.pow((1 + monthly_rate), n)));
System.out.printf("Your Monthly sum is %.2f", payment);
}
}
答案 0 :(得分:1)
principal = 50000; //Redacted. Eating my words.
period = 4;
length = 4;
n = 16;
rate = 0.085;
monthly_rate = 0.085 / 16 = 0.0053125;
payment = 50000 * 50000 * 0.0053125 * (1 + 0.0053125) ^ 16;
= 2.5x10^9 * 0.0053125 * 1.088;
= Something remainingly massive
基本上......你的公式错了。你不需要用电源划分吗?你在这个公式上的来源在哪里?
payment = principal * (rate + (rate / ( Math.pow(1 + rate, n) - 1) ) );
示例:
payment = 50000*(0.085+(0.085/(1.085^16-1)))
= 5830.68
答案 1 :(得分:0)
试试这个公式:
//this is how much a monthly payment is
payment = (rate + (rate / ((Math.pow(1 + rate), n) -1)) * principal
这是基于公式的第一个谷歌结果之一。如果错误,请发布结果和预期答案。
我很确定你的公式刚刚关闭,如上所述,方程中应该有一个分母。
You can use r* Math.pow ((1+r),n) to calculate the numerator and part of the denominator