Objekt in einem Objekt speichern

Marcel98

Mitglied
Hallo an Alle,

ich habe eine Klasse "Plane" und "Flight erstellt. Danach habe ich 3 Planes erstellt mit den Namen: plane3, plane2 und plane3. Diesen Planes habe ich 2 Eigenschaftenk gegeben (Name und einen Integer).
Als nächstes habe ich ein Objekt "flight" erstellt. Der hat 3 Eigenschaften: Abflug, Ankunft, und Wochentag. Nun möchte ich haber dem Objekt "Flight" ein "Plane" zuweisen. Spricht meine Gedanke fligtList.add(String ankunft, String abbflug, String Tag, Plane plane1).
Leider funktionier es nicht.



[CODE lang="java" title="Klasse Plane"]import java.util.ArrayList;

public class PlaneManager {


public static ArrayList<Plane> planeList = new ArrayList<>();

public static void makePlane() {


Plane plane1 = new Plane("Boing 737", 100);
planeList.add(plane1);

//planeList.add(new Plane("Boing 737", 100));
//planeList.add(new Plane("Boing 747", 200));
//planeList.add(new Plane("Boing 777", 300));
}

}
[/CODE]

[CODE lang="java" title="Flight"]import java.util.ArrayList;

public class Flight {

private static String takeoff;
private static String arrivals;
private static String date;
private static Plane plane;


public Flight(String takeoff, String arrivals, String date, Plane plane) {
super();
this.takeoff = takeoff;
this.arrivals = arrivals;
this.date = date;
this.plane = plane;

}
[/CODE]

[CODE lang="java" title="FlightManager"]import java.util.ArrayList;

public class FlightManager {


private static ArrayList<Flight> flights = new ArrayList<>();


public static void makeFlights() {

flights.add(new Flight("16:30", "18:45", "Monday", /*plane1 Eigenschaften */)));
}

}
[/CODE]
 
Zuletzt bearbeitet:
wenn du nachrichten schreibst hast du links oben im chat fenster das </> symbol, da kannst du code posten... bilder sind zimelich blöd zu helfen
 
Java:
public class FlightManager {
    
    
    private static ArrayList<Flight> flights = new ArrayList<>();
    
    
    public static void makeFlights() {
            
            flights.add(new Flight("16:30", "18:45", "Monday", /*plane1 Eigenschaften */)));
    }

}
in dieser klasse gibt es kein plane1... deswegen auch unterringelt.. was braucht denn dein Flight manager?
ich nehme an er braucht einen Plane Manager dh
du machst da ein lokales objekt planemanager rein oder übergibst einen an den konstruktor


dann greifst du auf die elemente im PLanemanager zu in dem du dir deine liste raus holst und die einzelenen planes übergibst in flights.add(...)
 
Java:
public class FlightManager {
  
  
    private static ArrayList<Flight> flights = new ArrayList<>();
  
  
    public static void makeFlights() {
          
            flights.add(new Flight("16:30", "18:45", "Monday", /*plane1 Eigenschaften */)));
    }

}
in dieser klasse gibt es kein plane1... deswegen auch unterringelt.. was braucht denn dein Flight manager?
ich nehme an er braucht einen Plane Manager dh
du machst da ein lokales objekt planemanager rein oder übergibst einen an den konstruktor

Java:
public class FlightManager {
   
   
    private static ArrayList<Flight> flights = new ArrayList<>();
   
   
    public static void makeFlights() {
           
            flights.add(new Flight("16:30", "18:45", "Monday", /*plane1 Eigenschaften */)));
    }

}
in dieser klasse gibt es kein plane1... deswegen auch unterringelt.. was braucht denn dein Flight manager?
ich nehme an er braucht einen Plane Manager dh
du machst da ein lokales objekt planemanager rein oder übergibst einen an den konstruktor


dann greifst du auf die elemente im PLanemanager zu in dem du dir deine liste raus holst und die einzelenen planes übergibst in flights.add(...)
Ich verstehe leider kein Wort xD hättest du evtl. eine "anfängerfreundlichere" Erklärung. ^^
 
Java:
public class FlightManager {
  
  
    private static ArrayList<Flight> flights = new ArrayList<>();
  
  
    public static void makeFlights() {
          
            flights.add(new Flight("16:30", "18:45", "Monday", /*plane1 Eigenschaften */)));
    }

}
also erstens... static weniger hernehmen ... wir sind objekt orientiert unterwegs und nicht funktional 🙂

daraus wird shcon mal das da
Java:
public class FlightManager {
  
  
    private  ArrayList<Flight> flights = new ArrayList<>();
  
  
    public void makeFlights() {
          
            flights.add(new Flight("16:30", "18:45", "Monday", /*plane1 Eigenschaften */)));
    }

}

jetzt in deinem FlightManager brauchst du ja deine Flugzeuge vom planemanager
Java:
public class FlightManager {

 

 

    private  ArrayList<Flight> flights = new ArrayList<>();

 

 

    public void makeFlights() {
          // du brauchst deinen PLaneManager der die ganzen Flugzeuge drin hat
          PlaneManager manager = new PlaneManager();
        // dass ein Flug gestartet werden kann brauchst du ein flugzeug.. diese kennt aber nur der Planemanager 
// deswegen musst du sie dir da raus holen
           ArrayList<Plane> planeList = manager.getPlaneList();
            flights.add(new Flight("16:30", "18:45", "Monday", planeList.get(0)));

    }


}
die letzte klasse funktioniert noch nicht so ganz... weil dein planemanager static ist UND die getPlaneList() methode nicht hat... diese musst du selber bauen

falls das ".get(0)" nicht funktioniert musst du mal googlen wie man aus einer arraylist werte raus kriegt ..weis ich grad nicht
 
Java:
public class FlightManager {
 
 
    private static ArrayList<Flight> flights = new ArrayList<>();
 
 
    public static void makeFlights() {
         
            flights.add(new Flight("16:30", "18:45", "Monday", /*plane1 Eigenschaften */)));
    }

}
also erstens... static weniger hernehmen ... wir sind objekt orientiert unterwegs und nicht funktional 🙂

daraus wird shcon mal das da
Java:
public class FlightManager {
 
 
    private  ArrayList<Flight> flights = new ArrayList<>();
 
 
    public void makeFlights() {
         
            flights.add(new Flight("16:30", "18:45", "Monday", /*plane1 Eigenschaften */)));
    }

}

jetzt in deinem FlightManager brauchst du ja deine Flugzeuge vom planemanager
Java:
public class FlightManager {

 

 

    private  ArrayList<Flight> flights = new ArrayList<>();

 

 

    public void makeFlights() {
          // du brauchst deinen PLaneManager der die ganzen Flugzeuge drin hat
          PlaneManager manager = new PlaneManager();
        // dass ein Flug gestartet werden kann brauchst du ein flugzeug.. diese kennt aber nur der Planemanager
// deswegen musst du sie dir da raus holen
           ArrayList<Plane> planeList = manager.getPlaneList();
            flights.add(new Flight("16:30", "18:45", "Monday", planeList.get(0)));

    }


}
die letzte klasse funktioniert noch nicht so ganz... weil dein planemanager static ist UND die getPlaneList() methode nicht hat... diese musst du selber bauen

falls das ".get(0)" nicht funktioniert musst du mal googlen wie man aus einer arraylist werte raus kriegt ..weis ich grad nicht
Vielen Dank, hat funktioniert.
 

Neue Themen


Zurück
Oben