2017-09-24 3 views
-1

Je n'arrive pas à obtenir chaque objet à imprimer lorsqu'il est dans la boucle enhanced for. Toute aide serait appréciée. Si je choisissais un objet de travail spécifique alors le code fonctionnerait bien mais je l'ai simplement en tant que worker []. FullName() et rien ne s'imprime. Y a-t-il une manière que je peux l'obtenir pour imprimer le travailleur respectif chaque fois qu'il parcourt la boucle? MerciInstructions d'impression avec chaque objet dans le tableau 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);    
     }   
    } 
} 
+0

Vous devez utiliser 'worker.FullName()' –

+0

@ChetanRanpariya Je reçois ne peut pas trouver erreur de symbole pour la méthode fullName() –

+0

Les classes/variables nommé de manière confuse (avec les pluriels). Ce devrait être 'workers.fullName()' avec le code actuel. La bonne chose à faire, cependant, serait d'avoir le nom de classe (de la super classe) sous forme singulière, c'est-à-dire 'Worker'. Et le nom de la variable tableau au pluriel, c'est-à-dire 'Worker [] workers'. Et puis la boucle devient 'pour (travailleur ouvrier: travailleurs)'. –

Répondre

1

Pensez qu'il y a des problèmes avec la dénomination pour chaque boucle. Vous avez échangé worker & workers. Aussi worker[].fullName() est construction non acceptable. Correct est worker.fullName() S'il vous plaît, essayez le code ci-dessous:

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

Le nom du tableau est 'worker', donc cela ne sera pas compilé. –