因此,我的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).")

09-10 07:43
查看更多