[Java] 2-dim Array mittels Enumeration durchlaufen

Helios co.

Lt. Commander
Registriert
März 2005
Beiträge
1.863
Hallo,

ich komme an einer kleinen Aufgabe nicht so recht weiter.
Wie der Titel schon sagt, ist das Ziel ein 2-dimensionales Array vom Typ int mit dem Enumeration Prinzip zu durchlaufen und die Werte auszugeben.
Im Array können auch null-Referenzen vorkommen.

Als Array habe ich also Beispielsweise:
10
nichts
5,-1,4
null
34,67


Ausgabe des Ganzen soll also sein: 10 5 -1 4 34 67

Der Rahmen sieht in etwa so aus:

Code:
import java.util.Enumeration;

public class TwoDimEnumeration implements Enumeration{
	
	int[][] theArray;
	private int zeilen;
	private int spalten;
	
	
	public TwoDimEnumeration(int[][] a){
		
		this.theArray = a;
		zeilen = 0;
		spalten = -1;
		zwischen();
	}
	
	
	public void zwischen(){
		
		
			while(theArray.hasMoreElements() ){
			        System.out.println(nextElement());

		        }
		
	}
	
	
	public boolean hasMoreElements(){

	}
	
	public Object nextElement(){
		
	}
	
	public static void main(String[] args){
		
		
		int[][] array = {
				{10},
				{},
				{5,-1,3},
				{(Integer) null},
				{42,17}	
				};
		
		TwoDimEnumeration tde = new TwoDimEnumeration(array);
		
		
		
		
	}

}

Ich habe, was man in diesem Code-Beispiel nicht sieht, die biden Methoden nextElement und hasMoreElements bereits implementiert.
Der Compiler akzeptiert aber die Methode (konkret: die while-Schleifenbedingung) nicht.

Thx für jeden Rat, der mich bringt zu meiner Tat...jaja, ich weiss Goethe war besser...
 
Zunächst 'ne Frage: was ist bei Dir "nichts"?
In Java gibt es nicht "nichts", das ist null...

Edit: Oops, hab's grad gesehen... ;)
 
Zuletzt bearbeitet:
Hmm, ja das ist eine gute Frage.

Am besten versuche ich es an einem Beispiel zu zeigen:



x: []--->[] ---------->[10]
[] ---------->[] //hier mein fälschlich benanntes "nichts"
[] ---------->[1][2][3]
[null]
[] ---------->[4][5]

Das ist die Form des Arrays.
 
Mag es vielleicht daran liegen, dass Du noch JAVA 1.4 nutzt?
Das Casten von Integer nach int funktioniert nur ab Java 5... Und ein Integer mit Wert null wird nach dem Casten zu 0 (int kann nicht null sein)... :freak:
 
C:\>java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)

;)


So wie ich es sehe, handelt es sich zum Einen um null Referenzen und Arrays ohne Elemente...

trotdem ralle ich nicht so ganz wie ich das handhaben soll...
 
Code:
while(theArray.hasMoreElements() ...
Der Compiler hat Recht. Ein Array hat diese Methode nicht. Aus deinem Code geht nicht hervor, was du vorhast.

Gruß,
stengbiegel
 
Jau, ich seh's auch grad: this.hasMoreElements()...
 
Jap, daran lags.
Gerade ist mir auch eingefallen, dass ich es alternativ ohne die zwischen Methode hätte machen könne und den Durchlauf in der main durchführen:

Code:
Enumeration e = new TwoDimEnumeration(array2);
		while(e.hasMoreElements()){
			System.out.println(e.nextElement());
		}


Danke schon mal,komme aber bestimmt noch mit anderen Fragen zurück:D
 
Zurück
Oben