package test;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class FreedomRepayment {
public static void main(String args[]) throws Exception{
float sum=600000;//单位元
int year=20;//贷款年限
float reat=0.045f;//年利率
float everymouth=3796f;//每月还款
int beginyear=2013;//开始还款2013.01月,年
int beginmouth=1;//开始还款2013.01月,月
float total=0f;
Float yue=sum;//余额
//还本金多少,还利息多少,剩余多少
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Calendar date=getdate(beginyear,beginmouth);
for(int i=0;i<year*12;i++){
float hlixi=(yue*reat)/12;
float benjin=everymouth-hlixi;
yue=yue-benjin;
System.out.println(sdf.format(date.getTime())+"还款"+everymouth+";还本金"+benjin+";还利息"+hlixi+";剩余"+yue);
//每月约定还款额,如果提前还款,要在这里加入判断
if(i<12){
everymouth=3796f;
}else if(i==12){//2014-02月
everymouth=70000f;
}else if(i==16){//2014-06月
everymouth=30000f;
}else {
everymouth=4000f;
}
total=total+everymouth;
if(yue<=0){
break;
}
date.add(Calendar.MONTH, +1);
if(yue<everymouth){
hlixi=(yue*reat)/12;
everymouth=hlixi+yue;
total=total+everymouth;
System.out.println(sdf.format(date.getTime())+"还款"+everymouth+";还本金"+yue+";还利息"+hlixi+";剩余"+0);
break;
}
}
System.out.println("一共还"+total);
}
static Calendar getdate(int year,int month ) throws Exception {
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month-1);
c.set(Calendar.DATE, 01);
return c;
}
}
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class FreedomRepayment {
public static void main(String args[]) throws Exception{
float sum=600000;//单位元
int year=20;//贷款年限
float reat=0.045f;//年利率
float everymouth=3796f;//每月还款
int beginyear=2013;//开始还款2013.01月,年
int beginmouth=1;//开始还款2013.01月,月
float total=0f;
Float yue=sum;//余额
//还本金多少,还利息多少,剩余多少
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Calendar date=getdate(beginyear,beginmouth);
for(int i=0;i<year*12;i++){
float hlixi=(yue*reat)/12;
float benjin=everymouth-hlixi;
yue=yue-benjin;
System.out.println(sdf.format(date.getTime())+"还款"+everymouth+";还本金"+benjin+";还利息"+hlixi+";剩余"+yue);
//每月约定还款额,如果提前还款,要在这里加入判断
if(i<12){
everymouth=3796f;
}else if(i==12){//2014-02月
everymouth=70000f;
}else if(i==16){//2014-06月
everymouth=30000f;
}else {
everymouth=4000f;
}
total=total+everymouth;
if(yue<=0){
break;
}
date.add(Calendar.MONTH, +1);
if(yue<everymouth){
hlixi=(yue*reat)/12;
everymouth=hlixi+yue;
total=total+everymouth;
System.out.println(sdf.format(date.getTime())+"还款"+everymouth+";还本金"+yue+";还利息"+hlixi+";剩余"+0);
break;
}
}
System.out.println("一共还"+total);
}
static Calendar getdate(int year,int month ) throws Exception {
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month-1);
c.set(Calendar.DATE, 01);
return c;
}
}