Mehrdimensionalen Array ausgeben

Status
Nicht offen für weitere Antworten.

w0ddes

Bekanntes Mitglied
Hey,

ich bin's schon wieder :D
Ich habe jetzt einen mehrdimensionalen ObjectArray
Java:
Object [][] daten;
Dieser ist bereits mit Daten gefüllt.

Wenn ich jetzt
Java:
System.out.println(daten);
aufrufe, bekomme ich die Ausgabe:
Code:
[[Ljava.lang.Object;@1b67f74

Bei dem Aufruf
Java:
System.out.println(Arrays.toString(daten));
wird es zu:
Code:
[Ljava.lang.Object;@1a758cb, [Ljava.lang.Object;@1b67f74, [Ljava.lang.Object;@69b332, [Ljava.lang.Object;@173a10f, [Ljava.lang.Object;@530daa, [Ljava.lang.Object;@a62fc3, [Ljava.lang.Object;@89ae9e, [Ljava.lang.Object;@1270b73, [.........]

Wie kann ich das weiter umformatieren bzw. die Ausgabe richtig einstellen?:oops:

mfg

Jens
 

The_S

Top Contributor
In einer Schleife alle Elemente durchgehen und dann mit Arrays.toString arbeiten. Oder mit zwei verschachtelten Schleifen alle Elemente einzeln durchgehen und ausgeben.
 

w0ddes

Bekanntes Mitglied
Schonmal danke für die schnelle Antwort.

Ich steh grade aber voll auf dem Schlauch...

Ich hab das Ganze jetzt so:
Java:
			for(int i=0; i <daten.length/6; i++){
					System.out.println("Gesammter ObjectArray: " + Arrays.toString(daten[i]));
			}
Die Formatierung der Ausgabe stimmt nun, also ich bekomm es als Matrix so angezeigt wie ich möchte, jedoch steht noch immer
Code:
[Ljava.lang.Object;@10b4199; [.......]
in der Ausgabe
 

KrokoDiehl

Top Contributor
Warum kein
Java:
Object[][] array = ...;
for (int i = 0; i < array.length; i++)
{
    for (int j = 0; j < array[i].length; j++)
        System.out.print( array[i][j].toString() + ", " );
    System.out.println();
}
...ok, es knallt wenn ein Eintrag null ist ;) Aber ich meine die grobe Form.
 

The_S

Top Contributor
Warum kein
Java:
Object[][] array = ...;
for (int i = 0; i < array.length; i++)
{
    for (int j = 0; j < array[i].length; j++)
        System.out.print( array[i][j].toString() + ", " );
    System.out.println();
}
...ok, es knallt wenn ein Eintrag null ist ;) Aber ich meine die grobe Form.

Dann lass das "toString" weg, dann knallts nicht, wenn ein Eintrag null ist ;) .
 

The_S

Top Contributor
Schonmal danke für die schnelle Antwort.

Ich steh grade aber voll auf dem Schlauch...

Ich hab das Ganze jetzt so:
Java:
			for(int i=0; i <daten.length/6; i++){
					System.out.println("Gesammter ObjectArray: " + Arrays.toString(daten[i]));
			}
Die Formatierung der Ausgabe stimmt nun, also ich bekomm es als Matrix so angezeigt wie ich möchte, jedoch steht noch immer
Code:
[Ljava.lang.Object;@10b4199; [.......]
in der Ausgabe

Warum daten.length / 6? Wie schaut den die toString-Methode deiner Objekte aus? Die muss natürlich korrekt überschrieben sein!
 

w0ddes

Bekanntes Mitglied
So, ich hab hier doch noch n paar andere Probleme . . . vllt liegts daran.

Ich meld mich, sobald ich den Rest behoben hab.
 

w0ddes

Bekanntes Mitglied
Ich bin heute irgendwie unfähig ...

Nochmal von ganz vorne..

Ich hab eine ArrayList<String>, diese füll' ich mit nem Scanner mit Strings..
Diese Strings möchte ich dann in einem ObjektArray speichern (jaa, es dreht sich noch um das Problem von gestern :p )
Aber nochmal zur Erklärung: ich brauche einen Objektarray, da ich später auch ImageIcons (was ja nun zum glück funktioniert) drin speicher möchte.

Java:
		public Object[][] daten = null;

                  //[......]

        ArrayList<String> readIn =new ArrayList<String>();
		String wort = null; 
		
		try{
		  	Scanner sc =new Scanner(source);			

		  	while (sc.hasNext()) {
				wort = sc.next();
				readIn.add(wort);
			}
											
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	      daten = new Object[readIn.size()][];   		//Größe des Array's nach "Anzahl Wörter" 
			
			for (int j = 0; j<6; j++){				//Schleife so lang, wie es Spalten gibt		(6 ist vorgegben)
				int i =0;
				daten[i][j] = readIn.get(i);		//Strings werden eingefügt
				i++;			    
			}
Was mach ich denn falsch? ô.o

Achso: Ich bekomm eine NullPointerException in (hier) Zeile 24
 
Zuletzt bearbeitet:

0din

Bekanntes Mitglied
lass das ganze doch mal durch den debugger laufen un schau dir an welche werte j & i durchlaufen un was in den positionen liegt, dann wird dir vllt deutlich wo dein fehler liegt ;)
 

N1klaZ

Mitglied
Das wird glaube ich dein Fehler nicht beheben aber in der Schleife ist glaube ich schonmal etwas falsch. Und zwar erhöht sich i hier nicht. Dadurch das in der Schleife
Java:
int i = 0;
i immer wieder auf 0 zurückgesetzt wird.
Java:
for (int j = 0; j<6; j++){              //Schleife so lang, wie es Spalten gibt     (6 ist vorgegben)
                int i =0;
                daten[i][j] = readIn.get(i);        //Strings werden eingefügt
                i++;                
            }
 

w0ddes

Bekanntes Mitglied
ich komm einfach nicht dahinter -.-

Wird Zeit für Mittagspause und Feierabend .. Gestern hab ich das doch auch hinbekommen ..
 

w0ddes

Bekanntes Mitglied
Das wird glaube ich dein Fehler nicht beheben aber in der Schleife ist glaube ich schonmal etwas falsch. Und zwar erhöht sich i hier nicht. Dadurch das in der Schleife
Java:
int i = 0;
i immer wieder auf 0 zurückgesetzt wird.
Java:
for (int j = 0; j<6; j++){              //Schleife so lang, wie es Spalten gibt     (6 ist vorgegben)
                int i =0;
                daten[i][j] = readIn.get(i);        //Strings werden eingefügt
                i++;                
            }

ja da hast recht *an kopf klatsch* .. problem ist dadurch wirklich nicht behoben ..
 

KrokoDiehl

Top Contributor
Java:
daten = new Object[readIn.size()][];          //Größe des Array's nach "Anzahl Wörter" 
            
            for (int j = 0; j<6; j++){              //Schleife so lang, wie es Spalten gibt     (6 ist vorgegben)
                int i =0;
                daten[i][j] = readIn.get(i);        //Strings werden eingefügt
                i++;                
            }
Was soll dieser Code denn tun? Du liest deine Daten in eine ArrayList. Diese ist eindimensional. Danach willst du ein Object[][] befüllen, das ist zweidimensional ...hier ist schon einmal eine gewisse Diskrepanz.
Mit
Code:
daten = new Object[readIn.size()][];
erstellst du ein Array der Größe der ArrayList, dass an jeder Stelle ein Object[]-Typ erwartet. Aber da die zweite Dimension nicht angegeben ist, ist sie null. Der Zugriff in der Schleife
Code:
daten[i][j] = readIn.get(i);
geht also nicht, weil die j-Dimension hier null ist.

Du sagst im Kommentar, dass du 6 Spalten vorgegeben hast? Dann müsste deine Array doch wie folgt initialisiert werden:
Code:
daten = new Object[readIn.size()][[COLOR="Red"]6[/COLOR]];
Dann ist mir nicht klar, wo du die Eingaben aus der ArrayList hin haben willst ... bisher sieht dein Array nun so aus:
Code:
    0    1    2    3    4    5
0  null  null null null null null
1  null  null null null null null
...
n  null  null null null null null
//n == readIn.size()
 

w0ddes

Bekanntes Mitglied
Ich glaub ich hab's

Java:
		daten = new Object[readIn.size()/6][6];   		//Größe des Array's nach "Anzahl Wörter" 
		int k = 0;	
		for(int i = 0; i< readIn.size()/6;i++){
			for (int j = 0; j<6; j++){				//Schleife so lang, wie es Spalten gibt		(vorgegben)
				daten[i][j] = readIn.get(k);		//gesplitteter String wird in einzelne Felder je Zeile eingefügt   
				k++;
			}
		}

Die Mittagspause hat mir geholfen :) Kopf is wieder frei :)
 
Zuletzt bearbeitet:
S

SVW1913

Gast
Hallo Zusammen,

ich habe mir schon viele Beiträge angeschaut, aber leider war der passenden nicht dabei.
Mein Problem ist, dass ich ein Arraylist habe vom Typ String[].
Wie kann ich nun dieses Arraylist<String[]> in einer ListBox Zeile für Zeile ausgeben?!

Mein bisheriger Quelltext:

public void onSuccess(ArrayList<String[]> result)
{
cbCenter.setEnabled(true); //Meine Listbox
for (int i=0; i<result.size(); i++) //Eine For-Schleife, damit Zeiel für Zeile eingelesen wird
{
result.get(i);
...
}
}
 

eRaaaa

Top Contributor
Hallo Zusammen,

ich habe mir schon viele Beiträge angeschaut, aber leider war der passenden nicht dabei.
Mein Problem ist, dass ich ein Arraylist habe vom Typ String[].
Wie kann ich nun dieses Arraylist<String[]> in einer ListBox Zeile für Zeile ausgeben?!

Mein bisheriger Quelltext:

public void onSuccess(ArrayList<String[]> result)
{
cbCenter.setEnabled(true); //Meine Listbox
for (int i=0; i<result.size(); i++) //Eine For-Schleife, damit Zeiel für Zeile eingelesen wird
{
result.get(i);
...
}
}

was ist eine listbox ? meinst du eine jlist oder um was geht es?

/edit: falls ja
Java:
		String[] elements1 = { "Hallo", "Welt" };
		String[] elements2 = { "JAVA", "Forum" };
		List<String[]> listElements = new ArrayList<String[]>();
		listElements.add(elements1);
		listElements.add(elements2);
		JList list = new JList();
		DefaultListModel model = new DefaultListModel();
		for (String[] strings : listElements) {
			for (String string : strings) {
				model.addElement(string);
			}
		}
		list.setModel(model);
oder soll ein array = eine zeile?

Java:
		StringBuilder builder = new StringBuilder();
		for (String[] strings : listElements) {
			for (String string : strings) {
				builder.append(string);
				builder.append(", ");
			}
			model.addElement(builder.toString());
			builder.delete(0, builder.length());
		}

oder direkt ein eigenes listmodel :)
 
Zuletzt bearbeitet:
S

SVW1913

Gast
Ich arbeite zusätzlich mit GWT.
Also ja, es soll ein jList sein.

Ich habe eine Datei mit mehreren Informationen angelegt, die auch mit Semikolons getrennt sind.
Mit der Funktion split() konnte ich mein Arraylist so aufteilen, dass die einzelnen Informationen getrent in Arrays stehen.
Beispiel:
1;Name;Adresse

Mein Arraylist<String[]> hat den Namen result und die Informationen stehen auch alle in result drin.
Wie kann ich dies nun in meine Listbox ausgeben?

Danke für eure Hilfe!!!
 

eRaaaa

Top Contributor
Ich arbeite zusätzlich mit GWT.
achsooo, die listbox aus dem gwt, okay. da musst du addItem(string); aufrufen
Java:
        StringBuilder builder = new StringBuilder();
        for (String[] strings : result) {
            for (String string : strings) {
                builder.append(string);
                builder.append(", ");
            }
            listbox.addItem(builder.toString());
            builder.delete(0, builder.length());
        }
(dürfte gehen)
Also ja, es soll ein jList sein.

???:L
 
Zuletzt bearbeitet:
S

SVW1913

Gast
Danke für eure Hilfe!!!
Ich hab die Lösung gefunden.

Beispiel:
for (int i=0; i<result.size(); i++)
{
listbox.addItem( result.get(i)[2] );
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z Matrix Klasse mit Mehrdimensionalen Array (Addition, Multiplikation, to String) Java Basics - Anfänger-Themen 57
I Länge von mehrdimensionalen Array Java Basics - Anfänger-Themen 5
R Teile aus einem mehrdimensionalen Array vergleichen Java Basics - Anfänger-Themen 3
N Umwandlung String - double für mehrdimensionalen array Java Basics - Anfänger-Themen 2
X Lagerverwaltung mit mehrdimensionalen Array Java Basics - Anfänger-Themen 13
N Mehrdimensionalen int Array in int umwandeln Java Basics - Anfänger-Themen 8
mihe7 Von Datentypen und (mehrdimensionalen) Arrays Java Basics - Anfänger-Themen 4
DorFey Sortieren eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 8
T Produkt eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 5
T Erste Schritte Frage zur Initialisierung eines Mehrdimensionalen Arrays Java Basics - Anfänger-Themen 3
A Problem mit Mehrdimensionalen Arrays Java Basics - Anfänger-Themen 4
L Assertions in mehrdimensionalen Arrays Java Basics - Anfänger-Themen 7
J Kombinatorik bei mehrdimensionalen Arrays Java Basics - Anfänger-Themen 4
G Frage zu mehrdimensionalen Arrays Java Basics - Anfänger-Themen 15
R Länge von mehrdimensionalen Arrays auslesen (length?) Java Basics - Anfänger-Themen 3
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
L Frage zum Array Java Basics - Anfänger-Themen 1
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
julian0507 Array aus Methode in anderer Methode sichtbar machen Java Basics - Anfänger-Themen 10
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
Lion.King Array deklarieren und initialisieren Java Basics - Anfänger-Themen 5
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
M Methoden Zweidimensionaler Array mit Setter Methode ändern Java Basics - Anfänger-Themen 4
AkiJou Zeile in 2d Array löschen Java Basics - Anfänger-Themen 2
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6
A Elemente in einem Array Java Basics - Anfänger-Themen 5
A Vorkommende Farben ermittel und als Array zurückgeben Java Basics - Anfänger-Themen 7
AhmadSlack Array Java Basics - Anfänger-Themen 7
Jambolo Kartenhand Array Java Basics - Anfänger-Themen 14
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben