很抱歉,如果我听起来与我的标题混淆,但我是一个编程的极端初学者。我的作业是显示一个人每天的工资翻倍的天数(第1天:1美元,第2天:2美元,第3天:4美元等等)。我必须显示他们每天所挣的工资,以及他们每天所挣的工资总额。
我不知道我是怎么得到所有工作所得工资的总和的。帮助?
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));发布于 2013-11-18 04:13:16
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));发布于 2013-11-18 03:43:41
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
}https://stackoverflow.com/questions/20039700
复制相似问题