2016-10-29 3 views
-4

zum Objekt Wie kann ich unter Verwendung meiner Add-Methode und ein neues Objekt ein Element aus dem Hauptverfahren unter Verwendung des Code hinzufügen queueLane1 genannt:Hinzufügen von Elementen Arrays

public class TrafficQueue { 
    private Car [] carArray; 
    private int numberOfcarsInQueue; 


    public TrafficQueue(int numberOfcarsInQueue){ 
    carArray = new Car[numberOfcarsInQueue]; 


    } 
    private class Car {} ; // define an empty Car class 


    public void add(Car car){ 
    carArray[numberOfcarsInQueue] = car; 
    numberOfcarsInQueue ++; 

    } 

    public static void main(String[] args) { 
      // TODO code application logic here 


      TrafficQueue queueLane1 = new TrafficQueue(10); 

die einzige Lösung, die ich weit von so denken kann, queuelane1.add ("Toyota"), aber dies gibt einen Fehler zurück, wenn eine Zeichenfolge zu einem erwarteten Autoobjekt hinzugefügt wird.

Wie füge ich meiner Add-Methode einen neuen Artikel wie ein neues Auto hinzu?

+0

Machen Sie eine neue 'Car' Instanz und es passieren? – Li357

Antwort

2

Vielleicht so etwas wie,

public class TrafficQueue { 
    private Car [] carArray; 
    private int numberOfcarsInQueue; 

    public TrafficQueue(int numberOfcarsInQueue){ 
    carArray = new Car[numberOfcarsInQueue]; 

    } 

    static class Car 
    { 
     public String name; 

     public Car(String name) { 
      this.name = name; 
     } 
    } 

    public void add(Car car){ 
    carArray[numberOfcarsInQueue] = car; 
    numberOfcarsInQueue ++; 

    } 

    public static void main(String[] args) { 

      TrafficQueue queueLane1 = new TrafficQueue(10); 
      Car toyota = new Car("Toyota"); 
      queueLane1.add(toyota); 
    } 
} 
+0

Das ist eine sehr gute Antwort! habe mir eine neue Idee gemacht, nur warum ich nicht darüber nachgedacht habe, ein paar Informationen zu dieser Klasse hinzuzufügen! – blueGOLD

+0

Wenn ich eine ToString-Methode verwenden wollte, um alle Elemente in der Warteschlange zurückzugeben, kam ich mit etwas wie folgt heraus: 'code' public String toString() { String result = ""; Int Scan = 0; während (Scan blueGOLD

+0

aber dies gibt einen Wert von "[email protected]", wie kann ich eine Liste aller Elemente in der Warteschlange zurückgeben? – blueGOLD

-1

@ Xvid, zuerst, add(Car car) erwartet ein Auto-Objekt. So müssen Sie einen Konstruktor Ihrer Car-Klasse zur Verfügung zu stellen und den Namen im Parameter übergeben und es in einigen Attribut der Klasse sparen:

public Car(String name){ 
    this.name = name; 
} 

Dann machen Sie Ihr Auto Klasse statisch, wie private static class Car{, dann sind Sie kann die Methode queueLane1.add aufrufen (neues Auto ("Toyota"));

+0

Sorry, aber warum meine Antwort falsch ist? – BrunoDM

+0

Es ist nicht, deine Antwort sieht gut zu mir aus. Ich weiß es auch nicht, ich habe im Grunde genommen das Gleiche gemacht wie du. Und du hast deine Antwort auch gut erklärt. – davedwards

+1

Wenn ich eine ToString-Methode verwenden wollte, um alle Elemente in der Warteschlange zurückzugeben, kam ich mit etwas wie diesem heraus: 'code' public String toString() {String result = ""; Int Scan = 0; while (scan blueGOLD

Verwandte Themen