信用卡还款问题


final float MAX_DRAW_MONEY = 2500.0f;
float poundage = 5.0f;//对于信息卡取现金的话,每笔是5.0元
float day_interest_rate = 0.0005f;//每天利率
int flag = 0;//银行存在最大取款金额数,产生取款笔数
float sum;//利息之和
float totalSum;
int days;
/**
* 第一种还款方式
*/
public float oneInterest(int startMonth,int endMonth,float amount){
if(sum != 0.0) sum = 0.0f;
totalSum = amount;
days = getDays(startMonth+1,endMonth);
System.out.println(days);
for(int i = 1;i <= days ;i++){
totalSum += totalSum * day_interest_rate;
}
return totalSum-amount;
}

public int getDays(int startMonth,int endMonth){
Calendar c1 = this.calendar(startMonth);
Calendar c2 = this.calendar(endMonth);
int day = 0;
for(;c1.before(c2);c1.add(Calendar.DAY_OF_YEAR, 1)){
day++;
}
return day;
}
public Calendar calendar(int monthValue){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, monthValue -1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
return calendar;
}
/***==================上面第一种还款方式(刷卡)==========================***/
/**
* 第二种还款方式(直接取现金还款)一般银行信用卡从你取现金开始记录到还款期为止,并且所需还款=利息+有几笔取款手续费
*/
public float twoInterest(int startMonth,int endMonth,float amount){
if(sum != 0.0) sum = 0.0f;
totalSum = amount;
days = getDays(startMonth,endMonth);
for(int i = 1;i <= days ;i++){
totalSum += totalSum * day_interest_rate;
}
flag = Math.round(amount/MAX_DRAW_MONEY);
return totalSum-amount+flag*poundage;
}
public static void main(String[] args) {
Count count = new Count();
System.out.println("第一种:"+count.oneInterest(4, 11, 4000));
System.out.println("第一种:"+count.twoInterest(4, 11, 4000));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值