【发布时间】:2018-07-25 04:01:31
【问题描述】:
我在Employee 类中有一个名为calculatePay 的方法,它可以计算某些工资和税款。
public void calculatePay() {
totalHoursWorked = 0;
grossPay = 0;
fedTax = 0;
stateTax = 0;
netPay = 0;
totalTax = 0;
for (int i = 0; i < getNoTimeCards(); i++) {
TimeCard timeCard = getTimeCard(i);
totalHoursWorked += timeCard.getHoursWorked();
}
grossPay = totalHoursWorked * payRate;
if (grossPay >= 200) {
fedTax = (grossPay - 200) * .1;
} else {
fedTax = 0;
}
stateTax = grossPay * .04;
totalTax = fedTax + stateTax;
netPay = grossPay - totalTax;
}
我需要在另一个名为Company 的类中创建一个名为calculatePay 的方法。在这个方法中,我需要创建一个循环来调用Employee 中的calculatePay 方法。在循环中调用方法与调用实例变量有什么不同吗?无论我尝试什么似乎都不起作用。以下是 i 当前对 Company 中的方法的内容:
public void calculatePay() {
for (int i = 0; i < noEmployees; i++) {
Employee employee = getEmployee(i);
employee.calculatePay(); {
return;
}
}
}
在解释方面的任何帮助都会很棒。
【问题讨论】:
-
你的方法中有一个奇怪的
{ return; }块。尝试修复你的缩进,你会更容易看到这类问题。 -
什么不起作用?
-
您的代码毫无意义。为什么你在那个循环中有一个 return 语句?那不应该在那里。当然,您正确调用了该方法,但由于它没有返回任何内容:您希望得到什么?
-
我认为这里的关键问题是您不知道从方法返回值的语法。 Oracle 教程将是一个很好的起点(特别是处理 return values 的教程)。
-
不工作的是我需要调用calculatePay方法,所以当我调用在calculatePay中计算的实例变量时,在我的打印方法中,它将显示结果而不是0。
标签: java loops methods instance-variables