打印语句与数组中的每个对象Java
问题描述:
我似乎无法让每个对象在增强for循环中打印。任何援助将不胜感激。如果我选择了一个特定的工作对象,那么代码将运行良好,但我只是将其作为worker []。fullName()而没有任何内容正在打印。有什么办法可以让它在每次循环循环时打印相应的工人?谢谢打印语句与数组中的每个对象Java
package Persons;
public class InheritanceTest {
public static void main(String[] args) {
Workers worker[] = new Workers[6];
worker[0] = new Workers(25,"Tom", "Atkins", "4", "Mr.", 1992);
worker[1] = new Workers(28,"John", "Smith", "5", "Mr.", 1993);
worker[2] = new Workers(30,"Joe", "Doe", "6", "Mr.", 1980);
worker[3] = new SalaryWorker(50000,"Fawn", "Dawn", "7", "Mrs.", 1994);
worker[4] = new SalaryWorker(55000,"Clarence", "West", "8", "Mr.", 1986);
worker[5] = new SalaryWorker(60000,"Lucy", "Adams", "9", "Ms.", 1979);
for (Workers workers: worker){
System.out.println("Week 1 pay period: "+ worker[].fullName());
workers.calculateWeeklyPay(40);
System.out.println("Week 2 pay period: ");
workers.calculateWeeklyPay(50);
System.out.println("Week 3 pay period: ");
workers.calculateWeeklyPay(40);
}
}
}
答
认为在for-each循环中命名有麻烦。您已互换worker
& workers
。 也worker[].fullName()
是不可接受的建设。正确的是worker.fullName()
请尝试下面的代码:
for (Workers worker : workers) {
System.out.println("Week 1 pay period: " + worker.fullName());
worker.calculateWeeklyPay(40);
System.out.println("Week 2 pay period: ");
worker.calculateWeeklyPay(50);
System.out.println("Week 3 pay period: ");
worker.calculateWeeklyPay(40);
}
+0
该数组的名称是'worker',所以这不会被编译。 –
您需要使用'worker.fullName()' –
@ChetanRanpariya我得到一个无法找到符号错误 –
类/变量的全名()方法混淆地命名(与复数)。它应该是当前代码的'workers.fullName()'。然而,_correct_要做的事情是以单数形式(即“工作者”)拥有类名(超类)。而数组变量的名称是复数,即'Worker [] workers'。然后循环变成“(工人工:工人)”。 –