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
 

Underfaker

Bekanntes Mitglied
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);
 

LukHaimb27

Mitglied
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);
	}
}
 

Underfaker

Bekanntes Mitglied
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.
 

Underfaker

Bekanntes Mitglied
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:

julian.veh

Bekanntes Mitglied
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++;
}
 

greatergood

Mitglied
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.
 

greatergood

Mitglied
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.
 

Underfaker

Bekanntes Mitglied
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:

greatergood

Mitglied
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.
 

julian.veh

Bekanntes Mitglied
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?
 

Underfaker

Bekanntes Mitglied
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:

greatergood

Mitglied
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:

greatergood

Mitglied
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:

Underfaker

Bekanntes Mitglied
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;

	}

}
 

Underfaker

Bekanntes Mitglied
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. :-(
 

Underfaker

Bekanntes Mitglied
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
 

greatergood

Mitglied
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:

julian.veh

Bekanntes Mitglied
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:

Underfaker

Bekanntes Mitglied
@ 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..
 

julian.veh

Bekanntes Mitglied
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:

Underfaker

Bekanntes Mitglied
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?
 

julian.veh

Bekanntes Mitglied
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.
 

Underfaker

Bekanntes Mitglied
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...
 

Underfaker

Bekanntes Mitglied
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.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Diverse Fragen vor Schulaufgabe ;) Java Basics - Anfänger-Themen 4
K Diverse Fragen zum Fehlerlogging Java Basics - Anfänger-Themen 9
O diverse Fragen Java Basics - Anfänger-Themen 13
K Diverse Bugs in einem Snake Spiel Java Basics - Anfänger-Themen 4
J Diverse Frag zu Vererbung innerhalb von Java Java Basics - Anfänger-Themen 6
H Diverse Dinge: Unstabile Grafik, Druckt Grafik nicht,Tooltipp verschwindet hinter Grafik Java Basics - Anfänger-Themen 3
H Diverse Exceptions - Troubleshooting Java Basics - Anfänger-Themen 3
J diverse Begriff definieren Java Basics - Anfänger-Themen 6
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
H Fragen zu Wrapperklassen Java Basics - Anfänger-Themen 29
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
A Bei VierGewinnt fragen ob man gegen CPU oder Menschen spielen will. Java Basics - Anfänger-Themen 7
A Bei VierGewinnt vorher fragen, ob man gegen den Computer spielen möchte oder gegeneinander. Java Basics - Anfänger-Themen 1
A Bei VierGewinnt fragen, ob man gegen den Computer spielen möchte oder gegeneinander Java Basics - Anfänger-Themen 1
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
E Bäume/ allgemeine Fragen Java Basics - Anfänger-Themen 21
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B fragen zu Aufbau eines UML-Klassendiagramm Java Basics - Anfänger-Themen 1
C 3 Fragen rund um Klassenattribute Java Basics - Anfänger-Themen 8
L Erste Schritte Log4J Fragen Java Basics - Anfänger-Themen 5
NeoLexx Fragen zu diversen Elementen der Javabibliothek Java Basics - Anfänger-Themen 5
D Budget Manager fragen zur Umsetzung Java Basics - Anfänger-Themen 9
N Fragen zur Datenspeicherung Java Basics - Anfänger-Themen 45
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
CT9288 Fragen zu Java Java Basics - Anfänger-Themen 16
W Fragen zu Generics Java Basics - Anfänger-Themen 14
T ObjectInput/OutputStream Fragen zur Funktionsweise Java Basics - Anfänger-Themen 3
J Fragen zu einer Methode Java Basics - Anfänger-Themen 3
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
J Fragen zu Input/Output Java Basics - Anfänger-Themen 3
J Erste Schritte Oracle Tutorials zu Java 8 - Fragen dazu Java Basics - Anfänger-Themen 1
H Java Quereinsteiger Roadmap und Fragen Java Basics - Anfänger-Themen 29
H fragen Java Basics - Anfänger-Themen 15
M Samelsarium Grundlegender Fragen 2 Java Basics - Anfänger-Themen 9
M Sammelsarium an Grundlagen Grundlagen Fragen Java Basics - Anfänger-Themen 11
B Java ist / wird kostenpflichtig. Ein paar Fragen Java Basics - Anfänger-Themen 1
J Fragen zu synrchonized und kritischen Abschnitten Java Basics - Anfänger-Themen 5
S Fragen zu einem Rechentrainer Java Basics - Anfänger-Themen 2
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
J Wo kann man Fragen zu ireport stellen. Java Basics - Anfänger-Themen 0
M Fragen zum Anlegen und Benutzen von Listen Java Basics - Anfänger-Themen 9
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
D Fragen zur Klassen Java Basics - Anfänger-Themen 4
Aprendiendo Zwei Fragen und ein geerbtes "protected"-Attribut Java Basics - Anfänger-Themen 2
J Interface Fragen bezüglich "Sauberkeit" von Code Java Basics - Anfänger-Themen 5
D Objekte-Fragen Java Basics - Anfänger-Themen 1
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
Azazel Ein paar Fragen zu Methodenaufrufen(java.awt) Java Basics - Anfänger-Themen 2
S Erste Schritte Fragen zur For-Schleife Java Basics - Anfänger-Themen 9
C Interface Fragen zum Interface Java Basics - Anfänger-Themen 7
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
C Fragen zum Spigot Plugin (1.8) Java Basics - Anfänger-Themen 6
J Fragen zu Exceptions Java Basics - Anfänger-Themen 24
N Quiz- Fragen zufällig anzeigen lassen Java Basics - Anfänger-Themen 7
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
L Viele Fragen zu den Grundlagen Java Basics - Anfänger-Themen 5
B Fragen zu ZIP-File Java Basics - Anfänger-Themen 9
L fragen zu arrays Java Basics - Anfänger-Themen 8
L Fragen zu selbstgeschriebenem Programm Java Basics - Anfänger-Themen 5
M Fragen zum Auslesen von HTML Seiten Java Basics - Anfänger-Themen 5
J Threading-Aufgabe. Totale Noob Fragen, aber bitte trotzdem beantworten ;) Java Basics - Anfänger-Themen 7
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
K Erste Schritte Frage Antwort Spiel - Fragen zur Planung Java Basics - Anfänger-Themen 2
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
Anfänger2011 2 kleine Fragen zu ArrayListen Java Basics - Anfänger-Themen 5
S Fragen zu Ausdrücken&Bedingungen Java Basics - Anfänger-Themen 5
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
H grundlegende Fragen Java Basics - Anfänger-Themen 3
V Interface ich schäme mich das zu fragen, aber ich schaff nicht ein Text zu zentrieren :( [javaFX] Java Basics - Anfänger-Themen 6
N Programm: Fragen beantworten Java Basics - Anfänger-Themen 6
C Anfänger Anfänger Fragen Java Basics - Anfänger-Themen 8
Z Compiler-Fehler LinkedList Fragen Java Basics - Anfänger-Themen 4
D Rekursion Allgemeine Fragen Java Basics - Anfänger-Themen 2
D [Fragen] zu Methoden Java Basics - Anfänger-Themen 2
S Fragen zur Implementierung eines Binärbaums Java Basics - Anfänger-Themen 3
T Ein paar Fragen zu OOP und Java. Java Basics - Anfänger-Themen 16
J Allgemeine Fragen zur GUI Java Basics - Anfänger-Themen 1
johnnydoe Erste Schritte Erster Blick - erste Fragen Java Basics - Anfänger-Themen 11
DStrohma Grundsätzliche Fragen zu Drag & Drop Java Basics - Anfänger-Themen 1
N Klassen fragen zur getter und setter methode Java Basics - Anfänger-Themen 11
S 3 Fragen, Verzeichnis, GridLayout psoitionieren, Werte für JSpinner Java Basics - Anfänger-Themen 2
T Fragen zu Set / Relationen verknüpfen Java Basics - Anfänger-Themen 4
S 2 Fragen Java Basics - Anfänger-Themen 4
S Hallo und Fragen zu Arbeitsverzeichnis und Menü Java Basics - Anfänger-Themen 8
N Java Fragen... Java Basics - Anfänger-Themen 10
F ExecutorService Fragen! Java Basics - Anfänger-Themen 2
O HashMap Fragen Java Basics - Anfänger-Themen 8
C Fragen zu Arrays Java Basics - Anfänger-Themen 19
T viele "kleine" Fragen... Java Basics - Anfänger-Themen 3
S Fragen zur Implementierung eines Adressbuches Java Basics - Anfänger-Themen 20
S Fragen zu Arrays Java Basics - Anfänger-Themen 6
N StringReader - Fragen Java Basics - Anfänger-Themen 8
C Einige Fragen zu Frames Java Basics - Anfänger-Themen 7
M Erste Schritte Allgemeine Fragen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben