Diverse Fragen (Internethandel erstellen)

Underfaker

Bekanntes Mitglied
Hallo,

um es kurz zu machen, in einer Klasse Produkt sind 3 Konstruktoren für name nummer und preis eines Produkts in der Klasse Produktverwaltung werden in der ersten Methode 6 Objekte von "Produkt" erzeugt mit 3 Attributen, in der Methode dannach sollen diese nun serialisiert werden, wie komme ich an die Objekte dort ran, wenn ich den namen ganz normal angebe erhalte ich einen fehler, dass er das Objekt nicht findet, wir greift man allgemein auf Objekte zu?

Vielen Dank schonmal

Beste Grüße
 
wie ich es beschrieben habe, ein Beispiel:

Java:
Produkt suedwein = new Produkt("Suedwein", 7789, 24.99);

das steht in der ersten Methode, in der zweiten soll serialisiert werden:

bei:
Java:
 oos.writeObject(suedwein);

kommt die Meldung:
Produktverwaltung.java:41: cannot find symbol
symbol : variable suedwein
location: class Prduktverwaltung
oos.writeObject(suedwein);
 
schick mal die ganze Klasse...

ich vermute, du speicherst das Objekt nur in der ersten Methode
Du musst es aber entweder direkt in der Klasse Speichern
oder per Parameter übergeben

bspw.:
Java:
public class Produktverwaltung {
	protected Produkt produkt;

	[...]

	public void methode1() {
		produkt = new Produkt("Suedwein", 7789, 24.99);

	}

	public void methode2() {
		oos.writeObject(produkt);
	}
}
 
Ich muss die vorher schon deklarieren "Produkt product;" reicht, ich wusste nur nicht wie ich die allgemein vorher deklariere, natürlich war das wiedermal sehr leicht... 🙂 Danke

Ich denke ich muss (da das die bisher größte Übung ist) noch ein zwei Fragen stellen, deshalb auch der unspezifische Titel.
 
Sooo eine neue Frage (wenn ich darf),

in dem Online-Handel sollen Produkte als Objekte erzeugt werden in der Klasse Produktverwaltung werden diese eben erzeugt und sollen am Ende in einer Arraylist gespeichert werden, ich denke das hat auch geklappt, wie kann ich denn weiter nun darauf zugreifen?

In der Maindatei soll nämlich bei passender Eingabe (Menüabfrage) eine Auflistung der Produkte erfolgen, also so etwas:

---Produktliste---
0 Südwein, 24.99
1 Edelburgunder, 129.99
2 Speisekäse, 3.49
3 Erdammer, 5.99
4 Trüffel, 1499.00

Wie setze ich das am geschicktesten um? Benötige ich eine ToString Methode, wenn ja wo? weil so wie bisher gibt er mir garnichts aus (was zu erwarten war).

Produktverwaltung:
Java:
import java.io.*;
import java.util.*;

class Produktverwaltung extends ArrayList<String> implements Serializable 

{

	Produkt suedwein;
	Produkt edelburgunder;
	Produkt speisekaese;
	Produkt erdamer;
	Produkt trueffel;

	ArrayList produktliste = new ArrayList();

	public void Produkte()

	{

		suedwein = new Produkt("Suedwein", 24.99);
	
		edelburgunder = new Produkt("Edelburgunder", 129.99);

		speisekaese = new Produkt("Speisekäse", 3.49);

		erdamer = new Produkt("Erdamer", 5.99);

		trueffel = new Produkt("Trueffel", 1499.00);


	}


	public void Serialisieren()

	{

		
		ObjectOutputStream oos = null;

		try

		{

			oos = new ObjectOutputStream(new FileOutputStream("IO.txt"));

			oos.writeObject(suedwein);

			oos.writeObject(edelburgunder);

			oos.writeObject(speisekaese);

			oos.writeObject(erdamer);

			oos.writeObject(trueffel);

		}

		catch (Exception e) { System.out.println("Error!"); }

	}

	public void ReSerialisieren()

	{

	
		ObjectInputStream ois = null;

		try

		{

			ois = new ObjectInputStream( new FileInputStream("IO.txt"));

			Produkt suedwein = (Produkt) ois.readObject();
			
			Produkt edelburgunder = (Produkt) ois.readObject();

			Produkt speisekaese = (Produkt) ois.readObject();
			
			Produkt erdamer = (Produkt) ois.readObject();
			
			Produkt trueffel = (Produkt) ois.readObject();

		}

		catch (Exception e) { System.out.println("Error!"); }

		produktliste.add(suedwein);

		produktliste.add(edelburgunder);

		produktliste.add(speisekaese);

		produktliste.add(erdamer);

		produktliste.add(trueffel);

	}

}

Maindatei:
Java:
import java.util.*;

class OnlineShop

{

	public static void main (String args[])

	{

		Produktverwaltung d = new Produktverwaltung();

		OnlineShop c = new OnlineShop();

		int b = c.ZeigeHauptmenue();

		switch (b)

		{

		case 1: 

			ListIterator<String> it = d.produktliste.listIterator();

			while (it.hasNext())

			{

				System.out.println(it.next());

			}

			break;

		}

	}

	public int ZeigeHauptmenue()

	{

		TastaturIn a = new TastaturIn();

		int b;

		System.out.println("Online-Shop Wunschshop");

		System.out.println("-----------------------------");

		System.out.println("1 - Produkte anzeigen");

		System.out.println("2 - Bestellung aufgeben");

		System.out.println("3 - Bestellung abschicken");

		System.out.println("0 - Programm beenden");

		System.out.println("Bitte Ihre Auswahl eingeben und bestaetigen.");

		do

		{

			try
	
			{

				

				b = a.readInt();

				break;

			}

			catch (Exception e)
	
			{ System.out.println("Fehler! Bitte eine der angegebenen Zahlen auswählen und bestaetigen."); }

		}

		while (true);

		return b;

	}

}

Ich bin für jede Hilfe dankbar. 🙂

Beste Grüße

ps: Damit es vielleicht schneller geht, in der Datei Produktverwaltung wird noch serialisiert, das sollte auch klappen (oder auch nicht) und ab Zeile 90 wird dann in die Arraylist geschrieben

In der Maindatei Zeile 21 case 1 fängt den Fall ab, dass die Produkte angezeigt werden sollen, dort soll die Auflistung hinein.
 
Zuletzt bearbeitet:
Ohne jetzt genau den Code zu betrachten allgemein so:

Java:
int alpha = arrl.size(); //nicht -1 auf grund der while schleife 
int index = 0;
while(alpha>0) {
System.out.println("" + arrl.get(index).getName() + arrl.get(index).getPreis());
alpha--;
index++;
}
 
system.out.println(); Ruft jedes Mal die toString Methode auf. Falls du keine eigene geschrieben hast, wird es normalerweise die Standart toString Methode nutzen und gibt dir aber trotzdem den String, der das Objekt repräsentiert: 325314@Produkt... bla. (allerdings keine schöne Ausgabe).


Schreibe mal vielleicht eine eigene StringFormat Methode... die etwa sowas macht:

Java:
public String stringFormat (int index, String currentString, int price){
return index + " " + currentString + ", " + price;
}

Du kannst den Index des Objekts erfahren, indem du die Liste benutzt und darauf "liste.indexOf(currentString)" aufrufst. Den String selber bekommst du durch "it.next().getName()" (oder wie du es implementiert hast eben). Und den price über it.next().getPrice()... wäre zumindest naheliegend.
 
Aja noch was, dein Iterator ist so nicht ganz richtig!

Ersetze:

Java:
ListIterator<String> = ...

durch:

Java:
ListIterator<Produkt> = ...

dann kannst du gleich durch das Produkt-Objekt iterieren, und so, wie ich es oben geschrieben habe auf die einzelenen Werte (.getName(), .getPrice(), List.IndexOf(ProduktObjekt.getName())) zugreifen.
 
Danke schonmal 🙂

Dann benötige ich zwingend diese Stringmethode oder?

Bspw. kennt er atm "currentString" nicht, wo schreibe ich die Stringmethode am Besten rein und woher bekommt sie die Werte index currentString und price?

[EDIT]Habe sie im Moment in der Produktverwaltung.java nämlich dort wo die Objekte erzeugt werden sollen[/EDIT]

Also muss ich sie von irgendwo aufrufen aber von wo?

Das mit der Ausgabe habe ich implementiert:

Java:
			case 1: 

				ListIterator<Produkt> it = d.produktliste.listIterator();

				System.out.println(liste.indexOf(currentString)+ " "+ it.next().getproduktname() + " " + it.next().getpreis());
					
			break;

Im Moment schmeißt er mir eben noch:

OnlineShop.java:29: cannot find symbol
symbol : variable currentString
location: class OnlineShop
System.out.println(d.produktliste.indexOf(curren
tString)+ " "+ it.next().getproduktname() + " " + it.next().getpreis());
^
 
Zuletzt bearbeitet:
Wenn du ein Objekt von Produkt (ganz am Anfang) erstellst, dann übergibst du im Konstruktor Strings... Namen, wie "Suedwein", "EdelBurgunder". Diese Werden ja hoffentlich auch gespeicher in der Klasse "Produkt.java".

Wenn du nun ein Objekt hast von Produkt, dann solltest du auch auf den Namen zugreifen können.

Nochmal zu Erinnerung: In deinem Fall ist dein "aktuelles" Produkt-Objekt realisiert durch "it.next()"... auch wenn man das nicht sofort sieht^^

Also musst du irgendwie über it.next().getName()... auf diesen String zugreifen, den du beim Initialiseren in den Konstruktor geschrieben hast. (Falls eine solche Methode "getName()" noch nicht in Produkt.java implementiert ist, solltest du dies dringend nachholen!)
-- wenn du das dann hast, dann kannst du it.next().getName() anstatt "currentString" ersetzen. --
P.S.:

Wenn du dein System.out.Println schon SO implementierst, brauchst du keine Extra-Methode "StringFormat" oder "toString()"... dann klappt das auch so.
 
Ich verstehe irgendwie das Problem nicht.
Deine Klasse Produkt hat unrelevant viele Attribute. Angenommen Name und Preis, beides Strings

Java:
public class Produkt {

private String name;
private String preis;

public Produkt(String name, String preis) {
this.name = name;
this.preis = preis;
}

}

Jetzt willst du auf die Attribute zugreifen, die allerdings private sind und somit nur für die eigene Klasse zugänglich.

Java:
public class Produkt {

private String name;
private String preis;

public Produkt(String name, String preis) {
this.name = name;
this.preis = preis;
}

public String getName() {
return name;
}

public String getPreis() {
return preis();
}
}

So jetzt kannst du schonmal ohne Probleme auf das zugreifen, was du ausgeben willst.

Jetzt hast du einen ArrayList in der du die Produkte speicherst

Java:
ArrayList<Produkt> arrl = new ArrayList<Produkt>();

public void hinzufuegen(Produkt p) {
this.arrl.add(p);
}

Jetzt kannst du schonmal so viele Produkte hinzufügen, wie du willst 😉.
Um dir diese, so wie ich es verstanden habe, in der Konsole ausgeben zu lassen, wie schon oben beschrieben:

Java:
int alpha = arrl.size();
int index = 0;
while(alpha>0) {
System.out.println("" + arrl.get(index).getName() + arrl.get(index).getPreis());
alpha--;
index++;
}

Oder habe ich dein Vorhaben nicht ganz verstanden?
 
Ok das liefert zumindestens keinen Compilerfehler aber er wirft einen Exception Fehler beim Eingeben der 1

Exception in thread "main" java.util.NoSuchElementException
at java.util.ArrayList$Itr.next(Unknown Source)
at OnlineShop.main(OnlineShop.java:29)

woran könnte das liegen? Bevor ich versucht habe die Produkte auszugeben hat das keine Probleme bereitet.

Java:
import java.util.*;

class OnlineShop

{

	Produkt y = new Produkt();

	public static void main (String args[])

	{

		Produktverwaltung d = new Produktverwaltung();

		

		OnlineShop c = new OnlineShop();

		int b = c.ZeigeHauptmenue();

		switch (b)

		{

			case 1: 

				ListIterator<Produkt> it = d.produktliste.listIterator();

				System.out.println(d.produktliste.indexOf(it.next().getproduktname())+ " "+ it.next().getproduktname() + " " + it.next().getpreis());
					
			break;

		}

	}

	public int ZeigeHauptmenue()

	{

		TastaturIn a = new TastaturIn();

		int b;

		System.out.println("Online-Shop Wunschshop");

		System.out.println("-----------------------------");

		System.out.println("1 - Produkte anzeigen");

		System.out.println("2 - Bestellung aufgeben");

		System.out.println("3 - Bestellung abschicken");

		System.out.println("0 - Programm beenden");

		System.out.println("Bitte Ihre Auswahl eingeben und bestaetigen.");

		do

		{

			try
	
			{

				

				b = a.readInt();

				break;

			}

			catch (Exception e)
	
			{ System.out.println("Fehler! Bitte eine der angegebenen Zahlen auswählen und bestaetigen."); }

		}

		while (true);

		return b;

	}

}

[EDIT]ps: mit while schleife wie zu Beginn selbes Resultat -> keine Ausgabe (falls relevant)[/EDIT]
 
Zuletzt bearbeitet:
Die InfexOf Methode nimmt als Parameter das Objekt selbst und nicht den String!!! nicht durcheinanderbringen!


In dem fall ist also das .indexOf(it.next().getProduktname()) zu viel!
 
Zuletzt bearbeitet:
Ah sry, haber selber noch einen denkfehler mit drin, ich arbeit selte mit "Iteratoren"

jedes Mal wenn du it.next() aufrufst kommt das "nächste" objekt in der Liste... deswegen schreibe einmal in der schleife (eine zeile vor dem system.out.println()) Produkt currentProdukt = it.next();

Und dann ersetze currentProdukt durch jedes it.next(). im Print-Befehl.
 
Zuletzt bearbeitet:
Was meinst du mit "formatier den Code anständig" ich finde den Code absolut ok:

Produkt
Java:
class Produkt

{

	String produktname;
	double preis;

	public Produkt(String produktname, double preis)

	{

		this.produktname = produktname;
		
		this.preis = preis;

	}

	public String getproduktname ()
 
	{
 
		return produktname;
 
	}

	public double getpreis ()
 
	{
 
		return preis;
 
	}

}

Produktverwaltung:
Java:
import java.io.*;
import java.util.*;

class Produktverwaltung extends ArrayList<String> implements Serializable 

{

	Produkt suedwein;
	Produkt edelburgunder;
	Produkt speisekaese;
	Produkt erdamer;
	Produkt trueffel;

	ArrayList<Produkt> produktliste = new ArrayList<Produkt>();

	public void Produkte()

	{

		suedwein = new Produkt("Suedwein", 24.99);
	
		edelburgunder = new Produkt("Edelburgunder", 129.99);

		speisekaese = new Produkt("Speisekäse", 3.49);

		erdamer = new Produkt("Erdamer", 5.99);

		trueffel = new Produkt("Trueffel", 1499.00);


	}

	public void Serialisieren()

	{

		
		ObjectOutputStream oos = null;

		try

		{

			oos = new ObjectOutputStream(new FileOutputStream("IO.txt"));

			oos.writeObject(suedwein);

			oos.writeObject(edelburgunder);

			oos.writeObject(speisekaese);

			oos.writeObject(erdamer);

			oos.writeObject(trueffel);

		}

		catch (Exception e) { System.out.println("Error!"); }

	}

	public void ReSerialisieren()

	{

	
		ObjectInputStream ois = null;

		try

		{

			ois = new ObjectInputStream( new FileInputStream("IO.txt"));

			Produkt suedwein = (Produkt) ois.readObject();
			
			Produkt edelburgunder = (Produkt) ois.readObject();

			Produkt speisekaese = (Produkt) ois.readObject();
			
			Produkt erdamer = (Produkt) ois.readObject();
			
			Produkt trueffel = (Produkt) ois.readObject();

		}

		catch (Exception e) { System.out.println("Error!"); }

		produktliste.add(suedwein);

		produktliste.add(edelburgunder);

		produktliste.add(speisekaese);

		produktliste.add(erdamer);

		produktliste.add(trueffel);

	}

}

Java:
import java.util.*;

class OnlineShop

{	

	public static void main (String args[])

	{

		Produktverwaltung d = new Produktverwaltung();

		

		OnlineShop c = new OnlineShop();

		int b = c.ZeigeHauptmenue();

		switch (b)

		{

			case 1: 

				ListIterator<Produkt> it = d.produktliste.listIterator();

					System.out.println(d.produktliste + " "+ it.next().getproduktname() + " " + it.next().getpreis());
								
			break;

		}

	}

	public int ZeigeHauptmenue()

	{

		TastaturIn a = new TastaturIn();

		int b;

		System.out.println("Online-Shop Wunschshop");

		System.out.println("-----------------------------");

		System.out.println("1 - Produkte anzeigen");

		System.out.println("2 - Bestellung aufgeben");

		System.out.println("3 - Bestellung abschicken");

		System.out.println("0 - Programm beenden");

		System.out.println("Bitte Ihre Auswahl eingeben und bestaetigen.");

		do

		{

			try
	
			{

				b = a.readInt();

				break;

			}

			catch (Exception e)

			{ System.out.println("Fehler! Bitte eine der angegebenen Zahlen auswählen und bestaetigen."); }

		}

		while (true);

		return b;

	}

}
 
greatergood

Soll es nun so aussehen: ?

Java:
import java.util.*;

class OnlineShop

{	

	public static void main (String args[])

	{

		Produktverwaltung d = new Produktverwaltung();

		

		OnlineShop c = new OnlineShop();

		int b = c.ZeigeHauptmenue();

		switch (b)

		{

			case 1: 

				ListIterator<Produkt> it = d.produktliste.listIterator();

				while (it.hasNext())
	
				{

					Produkt currentProdukt = it.next();

					System.out.println(d.produktliste.indexOf(currentProdukt.getproduktname())+ " "+ currentProdukt.getproduktname() + " " + currentProdukt.getpreis());
				
				}
				
			break;

		}

	}

	public int ZeigeHauptmenue()

	{

		TastaturIn a = new TastaturIn();

		int b;

		System.out.println("Online-Shop Wunschshop");

		System.out.println("-----------------------------");

		System.out.println("1 - Produkte anzeigen");

		System.out.println("2 - Bestellung aufgeben");

		System.out.println("3 - Bestellung abschicken");

		System.out.println("0 - Programm beenden");

		System.out.println("Bitte Ihre Auswahl eingeben und bestaetigen.");

		do

		{

			try
	
			{

				b = a.readInt();

				break;

			}

			catch (Exception e)

			{ System.out.println("Fehler! Bitte eine der angegebenen Zahlen auswählen und bestaetigen."); }

		}

		while (true);

		return b;

	}

}

Falls nein wie meintest du es dann?
Falls Ja, immernoch keine Ausgabe der Produkte. :-(
 
Ahso, sorry ich schreibe alles im Windowseditor (ich hab schon genug Kommentare dazu gehört) und da sind die Lücken nicht so groß wie in dem Forum, da fällt mir eine leere Zeile zu viel nicht direkt auf.

Ich versuchs ab jetzt minimal zu halten
 
Habs mal de-bugged.

Dein Fehler ist, dass deine Liste, die du an der Stelle d.ProduktListe.iterator()... aufrufst leer ist.

Die While-Schleife wird also sofort mit der Bedingung it.hasNext() false! (Kein Schleifendurchlauf).

Du rufst von deiner Main-Methode aus, nie die Stellen auf, an denen du Produkte in die Produktliste aus "Produktverwaltung" hinzufügst... Also im Prinzip sind die Methoden aus "Produktverwaltung.java" nie ausgeführer Code 🙂

Du kannst dies beheben, in dem du in der Main Methode das ganze machst (also Produkte erstellen und einer Liste hinzufügen), oder du machst von der Main-Methode aus verweise auf Methoden in der Produktverwaltung, mit Hilfe eined "Produktverwaltungsobjektes" wie du eins schon erstellt hast.

Es fehlern im Prinzip bei dir die Zeilen:

Java:
        d.Produkte(); // erstellt Produkte im Objekt... besserer Name wäre: "erstelleProdukte()"
        d.produktliste.add(d.suedwein);
        d.produktliste.add(d.erdamer);
... usw. // siehe auch den Post von Julian.veh. Er macht das mit dem Serialisieren auch noch. Ist besser.

In der Klasse Online-Shop nachdem du das Produktverwaltungsobjekt "d" erstellt hast.
 
Zuletzt bearbeitet:
Dir fehlt einfach der Konstruktor in der Klasse Produktverwaltung. All deine Methoden rufst du doch gar nicht auf.

Java:
public Produktverwaltung() {
        produkte();
        serialisieren();
        reSerialisieren();
    }


Methoden und variablen schreibt man klein, klassennamen groß

das habe ich mal für dich übernommen. Und produkte() ist ein komischer Name für eine Methode ^^
 
Zuletzt bearbeitet:
@ greatergood


Nach Aufgabenstellung sollte ich in Produktverwaltung eine Methode schreiben die die Objekte seriealisiert und in eine Arraylist speichert, deswegen hatte ich das so geschrieben.

muss ich also erst Produkte() dann Serialisieren() und dann Reserialisieren aufrufen?

Bei deinem angebotenem Code sieht es so aus als würde von der Mainmethode aus in die Liste gespeichert oder was wird dort gemacht? Weil das soll ja in Produktverwaltung geschehen.

@julian.veh

Ich habe das mal gemacht, allerdings benötige ich doch eine String methode die das überschreibt oder, weil so implementiert ergibt das Käse (also die Darstellung), lustigerweise gibt er suedwein 129.99 aus.

1
[Produkt@dc6a77, Produkt@d1e89e, Produkt@ff057f, Produkt@c1f10e, Produkt@b8deef,
Produkt@1342ba4, Produkt@1d332b, Produkt@10a6ae2, Produkt@ef2c60, Produkt@4a6cb
f] Suedwein 129.99

Außerdem werden 4 Fehler beim Serialisieren geschmissen, fehlen dann nicht automatisch Objekte in der Liste die ja nicht wieder zurückgeholt werden ich verstehe auch nicht wo der Fehler beim Serialisieren liegt... Das ist ein Code den ich vor ein paar Tagen shconmal benutzt habe, dort habe ich genauso serialisiert und es klappte..
 
Ich weiß gar nicht genau was ListIterator ist und warum nicht eine ArrayList verwendest, aber so wie ich das verstehe:

Code:
System.out.println(d.produktliste.get(0) + " "+ it.next().getproduktname() + " " + it.next().getpreis());

kommt hier Produkt@12611a7 Suedwein 129.99 das raus und das ist kein Käse sondern ganz logisch.

Code:
 it.next()
rufst du 2 mal auf, deswegen gibt er dir vom index 0 den namen und vom index 1 den preis 😉

Code:
System.out.println(d.produktliste.get(0) + " "+ it.next().getproduktname() + " " + it.previous().getpreis());
ist das was du willst denke ich.
 
Zuletzt bearbeitet:
Natürlich ist das logisch aber trotzdem Käse siehe oben "Die Darstellung" (also das: Produkt@15cda3f) weil das was ich brauche ist ja nun etwas anderes...

Habe deins ausporbiert, beim Serialisieren gibt es weiterhin einen Fehler entsprechend wird der suedwein nicht ausgegeben und dieses "Produkt@15cda3f" steht weiterhin (zusätzlich) dort und muss natürlich weg, stattdessen wird 0 1 usw. benötigt, kann ich nicht den Index des Array dort ausgeben.

Außerdem wird schon wieder eine Exception geschmissen:

Exception in thread "main" java.util.NoSuchElementException
at java.util.ArrayList$Itr.next(Unknown Source)
at OnlineShop.main(OnlineShop.java:33)

Eigentlich kann so eine Ausgabe doch nicht so schwer sein -.-

ps: ListIterator ist unser Hilfsmittel um durch eine ArrayList durchzulaufen

Beispiel:

Java:
import java.util.*;

public class Noten extends ArrayList<String>

{

	public static void main (String args[])

	{

		Noten notenliste = new Noten();
	
		notenliste.add("sehr gut");

		notenliste.add("gut");

		notenliste.add("befriedigend");

		notenliste.add("ausreichend");

		notenliste.add("mangelhaft");

		notenliste.add("ungenuegend");
	
		ListIterator<String> it = notenliste.listIterator();

		while (it.hasNext())

		{

			System.out.println(it.next());

		}

	}

}

und warum nicht eine ArrayList verwendest,
What?
 
Also ist das eine ArrayList. Sorry ich habe von ListIterator noch nichts gehört. Warum machst dus nicht einfach so wie ich schon auf seite 1 beschrieben habe? Das sollte doch funktionieren.

Du hast eine Arraylist, guckst wie viele objekte darin gespeichert wurden, speicherst die zahl als zB alpha. Dann rufst du in einer schleife so lange das objekt des index i auf,
Code:
while(i<alpha)
, wobei i beim start der schleife 0 ist und nach jedem schleifendruchlauf um 1 addiert wird.
 
Weil wir ListItteratoren benutzen, die Antwort klingt doof aber ich muss das halt können (es ist zwar hier nicht explizit gefordert) aber das andere hatten wir so nicht, ich kann es ja mal ausprobieren.

Aber nochmal die Frage, Fehler beim Serialisieren, irgendeine Idee? denn er schmeißt mir einen Fehler beim Serialisieren und einen beim ReSerialisieren.

Den Suedwein habe ich mittlerweile erhalten, weil wenn ich vorherit.next() sage springt er zum zweiten Objekt, ich habs also mal hinten rangeschoben, da ich ja nun keine andere Möglichkeit habe probiere ich mal deinen ersten Ansatz...
 
Brauchst du nicht, das ist nicht dein job 🙂 Wäre ja noch schöner.

Ich habe es nun so gemacht wie du auf der ersten Seite beschrieben hast und das funktioniert.

Wie wäre die Vorgehensweise wenn das keine ArrayList sondern eine LinkedList wäre?
Kann ich das analog darauf projezieren? Denn das kommt auch ncoh.

Wegen dem Serialisieren wird wohl nix mehr kommen, deshalb geb ichs auf.
 

Zurück
Oben