ListIterator + Cast

modolo

Mitglied
Guten Abend zusammen.

Ich habe ein wenig im Forum gestöbert, leider aber nichts passendes gefunden. Aus diesem Grunde, wäre es wirklich super, wenn ihr mich hierbei unterstützen könntet.

Folgende Aufgabenstellung bin ich gerade am bearbeiten!
Erzeugen einer Liste mit 10 Einträgen: 1, 2, 3, …, 9 und „Zehn“
Hierbei sollen die ersten 9 Zahlen in einer Schleife erzeugt und der letzte String
zusätzlich einzeln ergänzt werden
Lesen der Elemente mit einem ListIterator und Erzeugung einer neuen Liste, die die um 1 erhöhten Werte speichert: 2, 3, 4, …, 10, „Elf“

Hinweis: In der Liste werden Referenz-Objekte vom Typ Object gespeichert.
Mittels instanceof können Sie prüfen, von welchem Typ die Objekte sind.
Falls dann das Objekt z.B. vom Typ Integer ist, dann können Sie es auf Integer casten
Falls das Objekt vom Typ String ist, dann können Sie es auf String casten und
speziell von „Zehn“ auf „Elf“ umsetzen.

Bisher habe ich folgenden Code zusammengeschrieben!
Java:
import java.util.*;

public class ListIteratorUebung
{
	public static void main(String[] args)
	{
		ArrayList list = new ArrayList ();
		list.add (1);
		list.add (2);
		list.add (3);
		list.add (4);
		list.add (5);
		list.add (6);
		list.add (7);
		list.add (8);
		list.add (9);
		list.add ("zehn");
		System.out.println (list);
		Iterator myIterator = list.listIterator();
		while (myIterator.hasNext() )
		{
			Integer anElement = (Integer) myIterator.next();
			System.out.println(anElement);
		}
	}
}
 

modolo

Mitglied
Die erste Frage die sich mir stellt ist, wie bekomme ich es hin, aus der Liste nur die int Werte raus zu holen und dann den Strin auszugeben?
 
G

Gast2

Gast
Dann fehlt noch der Teil:
Mittels instanceof können Sie prüfen, von welchem Typ die Objekte sind.
Falls dann das Objekt z.B. vom Typ Integer ist, dann können Sie es auf Integer casten
Falls das Objekt vom Typ String ist, dann können Sie es auf String casten und
speziell von „Zehn“ auf „Elf“ umsetzen.

Die Aufgabe ist aber irgendwie ziemlich dämlich... :wuerg: Was soll man dabei lernen?
 

modolo

Mitglied
So ganz dahinter gestiegen bin ich noch nicht. Aber vielleicht werde ich es ja morgen in der Vorlesung erfahren ;-).
Wollte halt ein wenig vorarbeiten und natürlich immer am Ball bleiben, um vielleicht endlich mal flüssiger Quellcodes sinnvoll zusammen schreiben kann, die mir dann auch mal was bringen ;-)

Kannst du mich dennoch ein wenig unterstützen bei meinen Fragen... Würde mich freuen :)
 
Zuletzt bearbeitet:

modolo

Mitglied
Nun gut, dann würde ich der Ausgabe wie folgt instanceof mitgeben.

Code:
			System.out.println(anElement instanceof Integer);

Soweit ich das verstanden habe und ersehen kann, gilt das der Prüfung ob ein Object zum Beispiel Integer ist oder nicht (true or false).

Mir geht es aber gerade um das Array.
Wie schaffe ich es der Schleife das Array mit hasNext mitzugeben ohne den String (Nur die int Werte) und dann den String einzeln auszugeben!
 
Zuletzt bearbeitet:

modolo

Mitglied
Habe noch ein wenig gebastelt.

Java:
import java.util.*;

public class ListIteratorUebung
{
	public static void main(String[] args)
	{
		LinkedList list = new LinkedList ();
		list.add (1);
		list.add (2);
		list.add (3);
		list.add (4);
		list.add (5);
		list.add (6);
		list.add (7);
		list.add (8);
		list.add (9);
		list.add ("zehn");
		System.out.println (list+"\n");
		Iterator myIterator = list.listIterator();

		try
		{
			while (myIterator.hasNext() )
			{
				Integer anElement = (Integer) myIterator.next();
				System.out.println(anElement );
				System.out.println((anElement instanceof Integer) + ("\n"));
			}
		}
		catch (Exception e )
		{

		}
		System.out.println(list.getLast());
		System.out.println(list.getLast() instanceof Integer);
	}
}

Meiner Ansicht fehlt mir nur noch die Erzeugung einer neuen Liste, die die um 1 erhöhten Werte speichert: 2, 3, 4, …, 10, „Elf“
Any Ideas?
Ich verstehe es so, dass ich eine Schleife erzeugen muss die dann auf der Console, die int-Objekte jeweils um eins erhöht und auch das String-Objekt um eins erhöht. Korrekt? Oder befinde ich mich da auf dem Holzweg?
 

Michael...

Top Contributor
Meiner Ansicht fehlt mir nur noch die Erzeugung einer neuen Liste, die die um 1 erhöhten Werte speichert: 2, 3, 4, …, 10, „Elf“
Der Code wirft beim Ausführen doch sicherlich eine Exception?
Ich verstehe es so, dass ich eine Schleife erzeugen muss die dann auf der Console, die int-Objekte jeweils um eins erhöht und auch das String-Objekt um eins erhöht. Korrekt? Oder befinde ich mich da auf dem Holzweg?
Naja, die Aufgabenstellung lautet eine neue Liste zu erstellen. In diese sollen dann die um eins erhöhten Werte aus der ersten Listen und der String "Zehn" soll durch "Elf" - Strings kann man nicht erhöhen ;-)
 

modolo

Mitglied
Moin Moin Zusammen.
Folgende Lösung wäre korrekt und könnte man nehmen!

Java:
public static void main(String[] args)
	{
		ArrayList list = new ArrayList();
		for (int i = 0; i < 9; i++)
		{
			list.add(i+1);
		}
		list.add("Zehn"); 
		ArrayList list2 = new ArrayList();
		ArrayList list3 = new ArrayList();
		
		//ListIterator erbt von Iterator und stellt zusätzlich eine add-Methode zur Verfügung
		ListIterator itr = list.listIterator();

		while(itr.hasNext())
		{
			for (Object obj : list)
			{    
				//if (obj.getClass() == (String.class)){   
				//if (obj instanceof String){
				if (obj.equals("Zehn"))
				{
					list2.add("Elf");
					list3.add("zwölf");
				}    
				//if (obj.getClass() == (Integer.class)){
				if (obj instanceof Integer)
				{
					list2.add((Integer)obj + 1);
					list3.add((Integer)obj +1 +1);
				}    
			}
			break;
		}
		System.out.println(list); 
		System.out.println(list2);
		System.out.println(list3);
	} 
}

Wenn nichts dagegen spricht, würde ich dann später das Thema als "erledigt" markieren.

Grüße
modolo
 
G

Gast2

Gast
Von der list3 steht eigentlich nichts in der Aufgabenbeschreibung. Außerdem kannst du die while Schleife entfernen, die erfüllt keinen zweck.
 

modolo

Mitglied
Stimmt, list3 steht nichts in der Aufgabenbeschreibung. War auch nur für Testzwecke noch mal eingebaut!
Das mit der Whileschleife habe ich mal getestet.
Demnach kann man ja dann auch den
Code:
ListIterator itr = list.listIterator();
kicken.
Und schon verliert der Quellcode an Masse. Vielen Dank :)

Java:
import java.util.*;

public class ListIteratorArrayUebung
{
	public static void main(String[] args)
	{
		ArrayList list = new ArrayList();
		for (int i = 0; i < 9; i++)
		{
			list.add(i+1);
		}
		list.add("Zehn");
		ArrayList list2 = new ArrayList();

			for (Object obj : list)
			{
				if (obj.equals("Zehn"))
				{
					list2.add("Elf");
				}
				if (obj instanceof Integer)
				{
					list2.add((Integer)obj +1);
				}
			}
		System.out.println(list);
		System.out.println(lis2);
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D ListIterator auf Anfang zurücksetzen Java Basics - Anfänger-Themen 2
L Next()-Aufruf zweimal innerhalb einer While-Schleife bei ListIterator Java Basics - Anfänger-Themen 10
A Liste ausgeben mit dem ListIterator Java Basics - Anfänger-Themen 5
0x7F800000 ungereimtheiten mit Iterator/ListIterator Java Basics - Anfänger-Themen 2
G ListIterator Java Basics - Anfänger-Themen 2
J ListIterator Java Basics - Anfänger-Themen 4
P Problem mit ListIterator Java Basics - Anfänger-Themen 11
ven000m ListIterator Java Basics - Anfänger-Themen 15
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
O Cast Java Basics - Anfänger-Themen 16
R Cast java.awt.Graphics Java Basics - Anfänger-Themen 7
N Simpler cast? Java Basics - Anfänger-Themen 9
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
O Kleine Frage zu cast Java Basics - Anfänger-Themen 3
A Ohne Cast auf Methode zugreifen? Java Basics - Anfänger-Themen 4
J Datentypen Cast von int zu char führ zu 'Sonderzeichen' Java Basics - Anfänger-Themen 2
K Cast bei equals Java Basics - Anfänger-Themen 2
N Vererbung Verschiedene Subclasses nach cast zur Superclass unterscheiden Java Basics - Anfänger-Themen 9
N Cast eines Objektes in eine Hashmap Java Basics - Anfänger-Themen 13
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
R Variablen Möglich?: Cast einer Referenzvariable auf den Typ seines Objektes Java Basics - Anfänger-Themen 19
S Datentypen Reflection Cast anhand eines Strings? Java Basics - Anfänger-Themen 7
D Wie "unchecked cast" hier vermeiden? Java Basics - Anfänger-Themen 2
M Cast nach int Java Basics - Anfänger-Themen 8
M object cast auf double Java Basics - Anfänger-Themen 2
I double (cast) rundungsproblem Java Basics - Anfänger-Themen 8
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
L Type/Cast Problem Java Basics - Anfänger-Themen 6
E Klassen ClassCastException bei gleichnamigem: paket.klasse cannot be cast to paket.klasse Java Basics - Anfänger-Themen 10
T Datentypen byte -Division..mal gehts mit cast mal ohne Java Basics - Anfänger-Themen 5
M Collections Cast bei ArrayList (List) Java Basics - Anfänger-Themen 2
T Datentypen default ist int, cast zu byte nötig... Java Basics - Anfänger-Themen 2
C Generics und Cast Java Basics - Anfänger-Themen 5
M Polymorphie Cast:Verständnis und Ausführung Java Basics - Anfänger-Themen 10
E Datentypen type cast problem (int, byte,) Java Basics - Anfänger-Themen 5
A Cast ohne Warnung bei Generics Java Basics - Anfänger-Themen 2
J cast zu int immer 0.. Java Basics - Anfänger-Themen 6
I java.lang.String cannot be cast to OBJEKT Java Basics - Anfänger-Themen 8
A Object -> String mit valueOf, toString oder cast ? Java Basics - Anfänger-Themen 6
M Cast vermeiden Java Basics - Anfänger-Themen 11
M Generics - "Unchecked cast"-Warnung wegbekommen Java Basics - Anfänger-Themen 4
B Exception cast to CORBA.Object Java Basics - Anfänger-Themen 2
K Cast-Operator Java Basics - Anfänger-Themen 3
Guybrush Threepwood Inhalt eines Strings für cast verwenden Java Basics - Anfänger-Themen 6
A Seltsame Class Cast Exception Java Basics - Anfänger-Themen 3
V Cast-Operator Java Basics - Anfänger-Themen 2
kulturfenster Cast Probleme Java Basics - Anfänger-Themen 2
V Frage zu final und Class bzw. Class.cast Java Basics - Anfänger-Themen 5
F paket.Klasse cannot be cast to paket.Klasse Java Basics - Anfänger-Themen 6
J Cast-Problem Java Basics - Anfänger-Themen 7
D Class Cast Exception Java Basics - Anfänger-Themen 5
R variabler cast Java Basics - Anfänger-Themen 5
G cast von Char nach int Java Basics - Anfänger-Themen 3
zilti Cast Exception bei JTable Java Basics - Anfänger-Themen 15
S "Unchecked Cast" Warnung Java Basics - Anfänger-Themen 3
G cast von int To Integer? Java Basics - Anfänger-Themen 3
M Double -> Int Cast funktioniert nicht. Java Basics - Anfänger-Themen 5
vogella Cast from Collection.toArray to String[] Java Basics - Anfänger-Themen 2
B Cast explizit verbieten Java Basics - Anfänger-Themen 10
E Cast von Object zu int (Array) Java Basics - Anfänger-Themen 19
W Java Cast bei Vectoren Java Basics - Anfänger-Themen 10
A Cast Generics Java Basics - Anfänger-Themen 6
M Class Cast Exception Java Basics - Anfänger-Themen 7
J Cast zwischen zwei Unterklassen der selben Oberklasse. Java Basics - Anfänger-Themen 7
B Byte übergeben ohne cast? Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben