import java.text.NumberFormat;
import java.util.Scanner;
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
public static void main(String[] args) {
/*已经对了 完成了 100%和结果一样,前面出错原因是公式看错写错 算出来永远是0*/
// Scanner scanner = new Scanner(System.in); //获得终端
// System.out.print("Principal:(本金)");
// int principal = scanner.nextInt();// 用户输入的本金
//
// System.out.print("Annual Interest Rate:(年利率)"); //公式里的是月利率 所以需要除以12,用户输入的是百分数 需要再除以100
// double AnnualInterestRate = scanner.nextDouble();// 用户输入的年利率
// double r = AnnualInterestRate / 12 / 100;
//
// System.out.print("Period:(还款年数)");
// int Period = scanner.nextInt();// 用户输入的还款年数
// int n = Period * 12; //以每月为一次,的还款次数
//
//
// double molecule = Math.pow((1 + r),n) ; //公式的分子 幂运算 Math.pow()
// double denominator = Math.pow((1 + r), n) - 1; // 公式的分母
//
//
// double Mortgage =(principal*molecule*r)/denominator;
// NumberFormat currency = NumberFormat.getCurrencyInstance();
// String result = currency.format(Mortgage);
// System.out.println("Mortgage:(每月付)"+result);
/*mosh的版本*/
final byte MONTH_IN_YEAR = 12;
final byte PERCENT =100;
Scanner scanner = new Scanner(System.in); //获得终端
System.out.print("Principal:(本金)");
int principal = scanner.nextInt();// SHORT 不够储存
System.out.print("Annual Interest Rate:(年利率)");
float AnnualInterestRate = scanner.nextFloat();// 因为利率是很小的数字 所以float就够了
float r = AnnualInterestRate / PERCENT / MONTH_IN_YEAR;
System.out.print("Period:(还款年数)");
byte Period = scanner.nextByte();// 支持最大的数是30 byte就够了
int n = Period * 12;
double molecule = Math.pow((1 + r), n); //公式的分子 幂运算 Math.pow()
double denominator = Math.pow((1 + r), n) - 1; // 公式的分母
double Mortgage = (principal* r * molecule ) / denominator;
NumberFormat currency = NumberFormat.getCurrencyInstance();
String result = currency.format(Mortgage);
System.out.println("Mortgage:(每月付)" + result);
}
}
自存 mosh java course homework 1
最新推荐文章于 2024-08-31 10:44:02 发布