# Werte eines Arrays überschreiben.



## BS88 (13. Apr 2014)

Hallo alle miteinander, 

ich habe mich kürzlich neu registriert und hoffe ihr könnt mir helfen. Ich habe ein Beispiel geschrieben eines 3 dimensionalen String Arrays, das bereits initialisiert ist. Ich möchte alle vorhanden Werte überschreiben, im Beispiel mit den Werten meiner Schleifenvariablen. 

Das Problem das ich habe ist, dass sich dem Array eine Dimension mit null befindet. Wenn ich also das Array durchlaufe folgt früher oder später eine NullpointerException.

 Ich versuche nun schon seit einiger Zeit diese abzufangen, mit Test auf Gleichheit(==) oder beispiel[][][].equals(null) und würde diese Dimension überspringen, aber ist das Überhaupt möglich? Letztendlich habe ich das so verstanden dass jede nachfolgende Dimension einen Vorgänger braucht, wenn dieser aber null ist, kann ich diesen dann überhaupt überspringen? 

Hier ist mein Code: 

```
String [][][]test3={{{null, "Georg"},null,{null, "Hans","Juergen"}}};
	for(int i =0;i<test3.length;i++){
		for (int j=0;j<test3[i].length;j++){
			for (int h=0;h<test3[i][j].length;h++){

			test3[i][j][h]=" "+i+j+h;
			System.out.println(test3[i][j][h]);

			}
		}
	}
```

Um es klarzustellen ich möchte definitiv keine Musterlösung, ich bräuchte nur einen Denkanstoss. Google und auch die Forumsuche hier haben mir nicht wirklich helfen können. 

Bin für jeden Hinweis dankbar


----------



## Gucky (14. Apr 2014)

Ich habe leider dein Problem nicht verstanden.
Auf ein 2D Feld runtergebrochen sieht dein Array so aus?

mmmmm
mmmmm
mmmmm

mmmmm


Und du willst jetzt die leeren Felder finden? Denn wenn eine Dimension leer wäre, dann könntest du auch ein 2D Feld nehmen.


Exceptions fängt man mit


```
try{
  doCode();
} catch(SomeException e) {
  doSomeOtherCode();
}
```


----------



## trez (14. Apr 2014)

Exceptions abfangen ist das Eine, sie verhindern das Andere.
Es ist immer abzuwägen wie häufig null-Werte vorkommen, denn Exceptions brauchen mehr Laufzeit als eine if(!=null) Abfrage, allerdings wird der Code länger.

Wenn Null-Werte die Ausnahmen sind -> Exceptions
Wenn sie eher häufig vorkommen -> if-Abfragen


```
String [][][]test3={{{null, "Georg"},null,{null, "Hans","Juergen"}}};
    for(int i =0;i<test3.length;i++){
        if (test3[i]!=null){
            for (int j=0;j<test3[i].length;j++){
                if (test3[i][j]!=null){
                    for (int h=0;h<test3[i][j].length;h++){
                        if(test3[i][j][h]!=null){
                            test3[i][j][h]=" "+i+j+h;
                            System.out.println(test3[i][j][h]);
                        }
                    }
                }
            }
        }
    }
```


----------



## BS88 (14. Apr 2014)

trez hat gesagt.:


> Exceptions abfangen ist das Eine, sie verhindern das Andere.
> Es ist immer abzuwägen wie häufig null-Werte vorkommen, denn Exceptions brauchen mehr Laufzeit als eine if(!=null) Abfrage, allerdings wird der Code länger.
> 
> Wenn Null-Werte die Ausnahmen sind -> Exceptions
> ...




Ich danke dir. Ich dachte mir das schon so in der Art, ich hatte einen Test auf null eingebaut, jedoch nur in der letzten Schleife.....thx:toll:


----------

