代码
package LQB2014;
import java.math.RoundingMode;
import java.text.DecimalFormat;
/**
* 标题:等额本金
* 小明从银行贷款3万元。
* 约定分24个月,以等额本金方式还款。
* 这种还款方式就是把贷款额度等分到24个月。
* 每个月除了要还固定的本金外,
* 还要还贷款余额在一个月中产生的利息。
* 假设月利率是:0.005,即:千分之五。那么,
* 第一个月,小明要还本金 1250,
* 还要还利息:30000 * 0.005,总计 1400。
* 第二个月,本金仍然要还 1250,
* 但利息为:(30000-1250) * 0.005 总计 1393.75。
* 请问:小明在第15个月,应该还款多少(本金和利息的总和)?
* 请把答案金额四舍五入后,保留两位小数。
* 注意:32.5,一定要写为:32.50
*/
public class T2 {
public static void main(String[] args) {
//方法一:直接用数学算式计算
//但结果没办法保留两位小数
System.out.println((30000-14*1250)*0.005+1250);
//方法二:
double sum = 30000;//本金
double hk = 0;//还款
for (int i = 1; i <=15; i++) {
hk = 1250+sum*0.005;
sum = sum-1250;
}
System.out.println(format(hk));
}
public static String format(double num)
{
DecimalFormat df = new DecimalFormat("#.00");
df.setRoundingMode(RoundingMode.HALF_UP);
return df.format(num);
}
}