因此,我的for循环会导致崩溃,并且我确切地知道了原因,但是我不确定是否可以重写它以使其完成我想完成的工作。
我正试图让它每天从复利中取出资金,并将其总计为一个月(这定为30天)。用户输入他们要计算的天数。因此,导致崩溃的原因是,他们放入了除30以外的其他东西。
我很难想出一种方法来重写它,可以使用任何建议。如果他们输入65,它希望计算出2个月的价值,然后显示为第3个月的工作日不足,我希望它能够执行某些操作。总是非常感谢您的帮助。提前致谢。
for (int i = 0; i < numDays; i+=30){
double cash=0;
for (int n=1; n < 30; n++){
int currentDay;
currentDay= n+i;
cash=cash+dailyMoney[currentDay];
}
month++;
if(monthlyChecks == null)
monthlyChecks = "\nCheck on month "+month+": $"+df.format(cash)+"\n";
else
monthlyChecks = monthlyChecks+"\nCheck on month "+month+": $"+df.format(cash)+"\n";
}
numDays是用户输入的天数。
MonthlyChecks是一个字符串。
dailyMoney []是保存每天金额的数组。
最佳答案
好的,听起来像是您要使用“第3个月的天数不足”来做的事情是这样的(假设numDays是一个整数)
numMonths = numDays / 30 //If numDays is an int, this will round down.
extraDays = numDays % 30
for (int i = 0; i < numMonths; i+=30){
double cash=0;
for (int n=1; n < 30; n++){
int currentDay;
currentDay= n+i;
cash=cash+dailyMoney[currentDay];
}
month++;
if(monthlyChecks == null)
monthlyChecks = "\nCheck on month "+month+": $"+df.format(cash)+"\n";
else
monthlyChecks = monthlyChecks+"\nCheck on month "+month+": $"+df.format(cash)+"\n";
}
}
//Then at some point
Systme.out.println("Insuffiecent days for " + numMonth + 1 " months. " + 30 - extraDays " days short).")