Java:获取变量输出的值的总和

时间:2013-11-18 03:42:07

标签: java loops for-loop sum

如果我的标题听起来很混乱,我很抱歉,但我是编程的极端初学者。我的家庭作业是显示一个人每天工资加倍的天数(第1天:1.00美元,第2天:2.00美元,第3天:4.00美元等等)。我必须显示他们每天的工资以及他们所有日子的总工资。

我无法想象如何获得所有工作日所赚的所有工资的总和。帮助

for ( int daysWorked = 1; daysWorked <= numDaysWorked; daysWorked++) {
    System.out.println("Pay for day #" + daysWorked + ": " + formatter.format(amount));

    amount =  daysWorked * 2;

    totalPay = ?? ;
}
System.out.println("\nTOTAL PAY FOR " + numDaysWorked + " DAYS: " + formatter.format(totalPay));

2 个答案:

答案 0 :(得分:2)

       totalPay = ?? ;

应该是

       totalPay = totalPay + amount; // adding each day pay to totalPay 

或以这样的简短形式书写:

       totalPay +=  amount; // adding each day pay to totalPay 

你的逻辑是错误的,因为第一天的薪水也会加倍:

       amount =  daysWorked * 2;

你不想要的。所以你可以在for循环中添加一个if来纠正它:

for ( int daysWorked = 1; daysWorked <= numDaysWorked; daysWorked++) {

           System.out.println("Pay for day #" + daysWorked + ": " + formatter.format(amount));

           if(daysWorked == 1) {

              amount =  daysWorked 
           } else {

              amount =  daysWorked * 2;
           }
           totalPay +=  amount; // adding each day pay to totalPay 

         }

答案 1 :(得分:1)

double amount = 1; // make sure it initially equals 1

for (int daysWorked = 1; daysWorked <= numDaysWorked; daysWorked++) {

    System.out.println("Pay for day #" + daysWorked + ": " + formatter.format(amount));

    totalPay += amount; // add the amount value each time to the totalPay variable
    amount *= 2; // it doubles so just double it every loop
}

System.out.println("\nTOTAL PAY FOR " + numDaysWorked + " DAYS: " + formatter.format(totalPay));