JavaList Problem - AddList

CarinaMuenchen

CarinaMuenchen
Hallo Leute,

möchte ein Lagerverwaltungsprogramm als Übung schreiben. Die Funktion ist sehr einfach.
Menue lässt einen zwischen -> Artikel hinzufügen, Liste ausgeben und Programm ende wählen

Problem :

Jedes mal beim anlegen eines neuen Artikels, werden die alten in der Liste überschrieben.
Nach einigem Lesen habe ich verstanden, dass in der ArrayListe nur Referenzen stehen.
Es scheint also, als hätte ich mit meinem Code mehrere Referenzen eines Objektes erstellt, aber nicht mehrere Objekte.

Leider habe ich gar keine Ahnung wie ich das korrigieren soll.

Ich gebe euch nun meine Klasse und hoffe ihr könnt was damit anfangen

1. Das ist meine StarterKlasse in der die Main das Programm startet.


Java:
Lager neuLager = new Lager();
	Artikel a = new Artikel();

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int auswahl;
		Scanner scan = new Scanner(System.in);
		String abez;
		
		
		
		do{
		auswahl=Eingabe();
			
			switch(auswahl){
			case 1:	System.out.println("Artikelname : ");
					abez=scan.nextLine();
					investArtikel(abez);
					
					break;
			case 2:	
					break;
			case 3: System.out.println("(3)Beendet");
					System.exit(1);
					break;
			}
		}while(true);
		
	}

2. Das ist meine Lager Klasse

Java:
import java.util.ArrayList;

public class Lager {
	
	static ArrayList<Artikel> LagerListe = new ArrayList<Artikel>(); 

	public void setLagerliste(Artikel neu)
    {
        LagerListe.add(neu);
        print();
    }
	
	public void print()
    {
        for(Artikel i : LagerListe)
        {
            System.out.println("ArtikelName "+" "+i.Artikelbezeichnung);        
            System.out.println(LagerListe.size()); 
        }

    }
}

3. Die Artikel Klasse
Java:
public class Artikel {
	
	public static String Artikelbezeichnung;
	
	


	public void setArtBez(String name) {
		Artikelbezeichnung = name;
	}
	
	
	
	
	
}

Bitte nehmt euch die Zeit und erklärt mir was ich falsch mache bzw. was ich besser machen kann. Habe vorher C programmiert und tue mich daher mit der Objektorientierten programmierung noch etwas schwer

Lg Carina :rolleyes:

*** Name der 1. Klasse ist Menue falls ihr das wissen müsst
 
Zurück