Erste Schritte Arraylist in einer anderen Klasse verwenden

Maia

Mitglied
Hallo,
ich habe folgendes Problem und ich finde einfach keine Lösung, weil ich noch nicht gut in programmieren bin.
Ich habe 3 Klassen.
In der Ersten Klasse habe ich eine private Arraylist erstellt:
Java:
import java.util.ArrayList;
public class Lieferung {

    private ArrayList<Fitnessgeraet> geraete;

    public Lieferung() {
        geraete = new ArrayList<>();
        Fitnessgeraet laufband = new Fitnessgeraet();
        laufband.setName("Laufband");
        geraete.add(laufband);
        ...
    }

    }

    public ArrayList<Fitnessgeraet> getGeraete() {
        return this.geraete;
    }
In der zweiten Klasse möchte ich nun die oben erstellte Arraylist aufrufen und verwenden.
Java:
public class Fitnessstudio {

    Lieferung liefern = new Lieferung();
    liefern.getGeraete();
    ...
   }

Wenn ich es so mache, ist die Fehlermeldung wie folgt:
Code:
Fitnessstudio.java:8: error: <identifier> expected
        lieferung.getGeraete();
                        ^
Daher die Frage, wie schaffe ich es die Arraylist in der anderen Klasse aufzurufen, sie dort in einer Variable zu speichern und dann auch über diese Variable verwenden zu können?
Ich würde mich über schnelle Hilfe freuen.

VlG,
Maia
 
Zuletzt bearbeitet von einem Moderator:
Das liefern.getGeraete() funktioniert, aber deine Variable lautet lieferung. Also hast du den geposteten Code geändert oder "the princess is in another castle" (das Problem ist woanders).
 
Versucht du den code außerhalb einer Methode auszuführen? Falls ja spendiere dir eine main-Methode und führe dort
Lieferung liefern = new Lieferung();
liefern.getGeraete();
aus.
Bzw. vielleicht sollte das in den Konstruktor von Fitnessstudio?
 
Richtige Fehlermeldung:
Fitnessstudio.java:6: error: <identifier> expected
liefern.getGeraete();

Das ist eine Aufgabe, wo ich die Arraylist von der Klasse Lieferung in der Klasse Fitnessstudio aufrufen muss.
Die main ist in einer zusätzlichen Klasse.
Ich brauche jedoch die Arraylist von der Klasse Lieferung um eine Methode in der Klasse Fitnessstudio zu erstellen.
 
Java:
import java.util.ArrayList;
public class Fitnessstudio {

    private ArrayList<Fitnessgeraet> geraeteImStudio = new ArrayList<>();
    private ArrayList<Fitnessgeraet> geraeteImLager = new ArrayList<>();
    Lieferung liefern = new Lieferung();
    liefern.getGeraete();
    Fitnessgeraet fitnessgeraet = new Fitnessgeraet();
 
    public void setGeraeteImStudio (ArrayList<Fitnessgeraet> imStudio){
        geraeteImLager = imStudio;
    }
 
    public ArrayList<Fitnessgeraet> getGeraeteImStudio() {
        return this.geraeteImStudio;
    }
 
    public void setGeraeteImLager(ArrayList<Fitnessgeraet> imLager){
        geraeteImLager = imLager;
    }
 
    public ArrayList<Fitnessgeraet> getGeraeteImLager() {
        return this.geraeteImLager;
    }

    public void lieferungSortieren(ArrayList<Fitnessgeraet> lieferung){
        lieferung = new ArrayList<Fitnessgeraet>();
        lieferung = liefern.getGeraete();
        for (int i=0; i<lieferung.size();i++){
            if (lieferung.get(i).getZustand() < 0.40){
                geraeteImStudio.add(lieferung.get(i));
            }else{
                geraeteImLager.add(lieferung.get(i));
            }
        System.out.println ("Die Geraete wurden sortiert.");
        }
    }
 
    public void geraeteBestandPruefen(){
        int max = liefern.size();
        int maxStudio = geraeteImStudio.size();
        int maxLager = geraeteImLager.size();
        int halb = max/2;
        if(maxStudio < halb){
            System.out.println ("Eine Inventur ist notwendig!");
            //if (fitnessgeraete die unter 0.4 sind, werden gewartet){
            //fitnessgeraet.warten();
            //}
            System.out.println ("Eine Inventur wurde durchgeführt");
        }else{
            System.out.println ("Es ist keine Inventur nötig");
        }
    }
}
Da sind noch einige Fahler drinnen, da ich schon am verwenden der Arraylist gescheitert bin...
 
Zuletzt bearbeitet von einem Moderator:
Java:
private ArrayList<Fitnessgeraet> geraeteImStudio = new ArrayList<>();
private ArrayList<Fitnessgeraet> geraeteImLager = new ArrayList<>();
Lieferung liefern = new Lieferung();
liefern.getGeraete();
Fitnessgeraet fitnessgeraet = new Fitnessgeraet();

Das liefern.getGeraete(); gehört da nicht hin.

Du solltest ein Konstruktor erstellen, der Lieferung entgegen nimmt.
 
wenn ich jetzt die Arraylist in der Methode lieferungSortieren(ArrayList<Fitnessgeraet> lieferung) aufrufen möchte, dann über die Methode "irgendeineMethode()"?
 
Ich würde dir empfehlen den Link den ich dir gerade gepostet habe auch mal anzuschauen.

Deine lieferungSortieren funktioniert nicht so.

Du überschreibst die übergebene Lieferung mit einem leeren Liste.

Du hast jetzt ein Objekt von Lieferung in der Klasse mit dem Konstruktor übergeben. Arbeite damit.
 

Neue Themen


Zurück
Oben