Hallo, ich bin neu im Forum und auch noch totaler Anfänger in Programmierung, aber durch mein Studium bin ich jetzt zu Java gekommen und es macht mir auch echt riesig Spaß nur kommen natürlich so einige Fragen 
Also mein Frage bezieht sich auf das abspeichern von Objekten in Arrays
Mit folgender Methode speicher ich (oder zumindest glaub ich das ^^) ein Objekt in ein Array ein (Wir sollen es mit Arrays und nich mit ArrayLists oder ähnlichem machen, deswegen muss ich das Array zuerst erweitern, da es beliebig viele abspeichern soll):
und mit folgender Methode möchte ich dann eine Liste mit allen abgespeicherten Artikeln anzeigen lassen:
Beim kompilieren gibt es kein problem, aber beim ausführen passiert es, dass wenn ich die Liste anzeigen lassen will er immer nur den zuletzt eingegebenen Artikel anzeigt, aber den sooft, so viele Eingaben ich gemacht habe (also wenn ich 5 Artikel eingegeben habe, zeigt er mir 5 mal den letzten)
Ich weiß jetzt nicht, was ihr noch an Code braucht, ich hoffe das passt so, wenn nicht, kann ich den Rest natürlich auch posten
Achja vielleicht noch die einegebn() und die listEintrag() Methoden ^^
Also mein Frage bezieht sich auf das abspeichern von Objekten in Arrays
Mit folgender Methode speicher ich (oder zumindest glaub ich das ^^) ein Objekt in ein Array ein (Wir sollen es mit Arrays und nich mit ArrayLists oder ähnlichem machen, deswegen muss ich das Array zuerst erweitern, da es beliebig viele abspeichern soll):
Java:
static int neuerArtikel(int artikelNr) {
System.out.println("\nNeuen Artikel eingeben");
System.out.println("======================");
artikelListe = Arrays.copyOf(artikelListe, artikelListe.length+1);
Artikel neuesAuto = new Artikel();
artikelListe[artikelNr] = (Artikel)neuesAuto;
while (artikelListe[artikelNr].eingeben() == false) {
System.out.println("Fehlerhafte Eingabe!");
}
System.out.println("Neuer Artikel abgelegt");
return (artikelNr + 1);
}
und mit folgender Methode möchte ich dann eine Liste mit allen abgespeicherten Artikeln anzeigen lassen:
Java:
static void listeAnzeigen(int artikelNr) {
System.out.println("\nArtikelliste");
System.out.println("============");
for (int i = 0; i < artikelNr; i++) {
System.out.print((i + 1) + ") ");
Artikel anzeige = (Artikel)artikelListe[i];
System.out.println(anzeige.listEintrag());
}
}
Beim kompilieren gibt es kein problem, aber beim ausführen passiert es, dass wenn ich die Liste anzeigen lassen will er immer nur den zuletzt eingegebenen Artikel anzeigt, aber den sooft, so viele Eingaben ich gemacht habe (also wenn ich 5 Artikel eingegeben habe, zeigt er mir 5 mal den letzten)
Ich weiß jetzt nicht, was ihr noch an Code braucht, ich hoffe das passt so, wenn nicht, kann ich den Rest natürlich auch posten
Achja vielleicht noch die einegebn() und die listEintrag() Methoden ^^
Java:
public boolean eingeben() {
Scanner eingabe = new Scanner(System.in);
try {
System.out.print("Artikelnummer: ");
artikelnr = eingabe.nextInt();
System.out.print("Bezeichnung: ");
bez = eingabe.next();
System.out.print("Gewichte in Gramm: ");
gew = eingabe.nextInt();
System.out.print("Preis: ");
preis = eingabe.nextInt();
System.out.print("Währung: ");
währung = eingabe.next();
return true;
} catch (Exception e) {
System.out.println(e);
return false;
} finally {
eingabe = new Scanner(System.in);
}
}
Java:
public String listEintrag() {
String text;
text = bez + ", " + artikelnr + ", " + gew + "g, " + preis + " " + währung;
return text;
}