2016-10-04 1 views
-3

Ich weiß, diese Frage wurde oft gestellt, und ich habe durch viele ähnliche Themen, aber sie alle enthalten Array oder Liste und ich möchte nicht Array oder Listen verwenden , zweitens verstehe ich nicht :). Wie auch immer, hier ist meine Frage: Ich habe eine Klasse mit Namen, ID, Job-Methoden, um diese in einer Variablen zu speichern, und ich möchte fragen, wie viele Mitarbeiter die Firma hat, und deshalb kann ich nicht jede Variable hart codieren, weil die Nummer ist unbekannt, also brauche ich eine Schleife, und ich darf nicht Array oder Liste verwenden. Jede Idee oder Hilfe wird geschätzt. Danke.mehrere Instanzen einer Klasse ohne Array in einer Schleife erstellen

Hier ist der Code für die Klasse:

public class Staff{ 
    public void name(String name){ 
     String staff_name = name; 
    } 
    public void id(String id){ 
     String staf_id = id; 
    } 
    public void job(String job){ 
     String staff_job = job; 
    } 
} 

Code für Haupt:

import javax.swing.JOptionPane; 
public class P2Q2{ 
    public static void main(String[]args){ 

     System.out.println("How many staff in Department? "); 
     String staff_num = JOptionPane.showInputDialog(null,"How many Staff are there", 
       "Department staff numbers",JOptionPane.QUESTION_MESSAGE); 
     int staff_num_int = Integer.parseInt(staff_num); 

     for(int i=1;i<staff_num_int;i++){ 
      //somthing in here to create objects for each staff 
     } 
    } 
} 

Hier ist die ganze Frage ist:

enter image description here

EDIT: ich gerade didn Ich möchte die ganze Frage nicht stellen, aber wenn das b ist Etern da gehst du.

+0

Warum dürfen Sie Array oder Liste nicht verwenden? –

+0

Fragen Sie den Dozenten: /, und warum -1 :( – AbdulAziz

+0

Sie können eine statische Zählvariable in der Staff-Klasse haben, die Ihnen sagt, wie oft eine Instanz erstellt wurde, wenn das ist, was Sie meinen. Ich habe eine harte Zeit zu verstehen, was Sie wirklich wollen, um ehrlich zu sein .. – Gendarme

Antwort

0

Sie können Staff Objekte ohne Array oder Liste erstellen - aber es hat keinen Sinn, weil Sie keinen Zugriff auf die Objekte haben. Wenn Sie keinen Zugriff auf die Objekte haben, bedeutet dies, dass der Garbage Collector sie zerstört, nachdem Sie den Loop-Bereich verlassen haben.

+0

Falsch. Sie können für jede Instanz eine separate Variable erstellen. – Gendarme

+0

Ich weiß, und das ist nicht das, was ich will, denn später möchte ich auf diese Objekte zugreifen und Gehalts-und Sachen hinzufügen – AbdulAziz

+0

@Gandarme ok, vielleicht bin ich falsch. Kannst du es erklären? –

0

Nun, wenn Sie ein Array oder eine Liste nicht verwenden können und Sie auf jedes Mitarbeiterobjekt zugreifen möchten. Sie können prüfen, ob Sie etwas wie eine Hash-Map verwenden. Sie können Objekte in der Hash-Map speichern und einfach die Mitarbeiternamen als Schlüssel für den Zugriff auf jedes Objekt nach dem Erstellen und Hinzufügen zur Karte verwenden.

Verwandte Themen