我只会发布我需要帮助的部分内容(问题的第二部分循环)
编辑:已发布完整问题以供澄清。
Wacky Widgets Welding Company希望计算未来十年每位员工的加薪幅度。该公司目前计划每年将每位员工的工资增加5%。例如,目前每年收入25,000美元的员工明年将获得26,250美元,第二年将获得27,562.50美元,第三年将获得28,940.63美元。设计以下内容,创建两个类图和伪代码:
a)包含员工ID号和员工当前年薪的员工服务类。包括以下内容:
i)默认构造函数和重载构造函数 ii)每个属性的访问器和增变器方法。b)包含两个方法的PayReport应用程序类:main()方法和printPayData()方法。 main()方法从名为“employee.txt”的文件中读取Employee记录,并将它们一次一个地发送到printPayData()方法。 printPayData()方法生成一个报告,显示员工的编号以及未来10年每个员工的工资。
这是我从教科书的任务和帮助中收集到的。
Public class PayReport
Public void main ()
Employee oneWorker
Open (Employee.txt)
oneWorker = read (Employee.txt)
while oneWorker is not at end of file
printPayData = read(employee.txt)
endwhile
close(employee.txt)
return
public void printPayData (Employee emp)
integer gross
gross = emp.getemployeesalary() * 0.5
print emp.getemployeeid(), gross
return
endClass
所以我想知道我是否在做循环错误,现在循环的缺点是什么,现在是否存在循环错误,以及循环所需的更改。
如果有人需要详细说明或基于我的循环,我会提供更多信息。
Employee service class
public class Employee
// declarations
private employeeid : integer
private employeesalary : integer
public Employee ()
employeeid = 0
employeesalary = 0
return
public Employee (id : integer, salary : integer)
employeeid = id
employeesalary = salary
return
public integer getemployeeid ( )
return employeeid
public integer getemployeesalary ( )
return employeesalary
public void setCustomeraget(integer id)
employeeid = id
return
public void setEmployeesalary (integer salary)
employeesalary = salary
return
End Class
所以employee.txt =会来自这个类。)
PS:如果需要任何其他信息,我将对其进行编辑并提供更多信息
我的问题是,我基于我的伪代码的循环是否有缺陷,不起作用,并且是我根据我的伪代码创建的循环所需的更改。
当我在ArgoUML中创建了这个类的图表然后尝试为它生成代码时,该类没有在那里列出,它是空白的。
EX。
项目的代码
可用课程
空白(N / A)
答案 0 :(得分:3)
我发现您的代码存在一些问题。
当您想要将信息读取传递给函数时,看起来您的设置printPayData等于您从文件中读取的内容。这可能更合适。
printPayData(read(employee.txt))
2。 printPayData在未来10年内不会打印员工薪水。看起来应该更像这样。
print employeeNumber
integer i = 0
integer salary = current employee Salary
while ( i < 10 )
print salary
salary = salary * 1.05
i = i + 1
end while