# prüfen, ob eine bestimmte variable exisitiert



## Visual EZ++ (3. März 2006)

Hi, der Titel des Themas erklärt schon so einiges. Habe auch schon gegoogelt und hier im Forum gesucht, aber nichts passendes gefunden, deswegen wäre ich für Lösungen dankbar.

Hier mein konkretes Problem:
Ich will herausfinden, ob eine Variable bzw ein Element eines Arrays existiert. Ich weiß, dass es z.B. in PHP eine Funktion "isset()" gibt und vermute, dass es sowas auch in Java geben müsste. 

Danke schonmal im Voraus!


----------



## Thomas Darimont (3. März 2006)

Hallo!

Schau mal hier:

```
String[] a = {"a","b","c","d"};
        System.out.println(Arrays.toString(a));
        System.out.println(Arrays.asList(a).indexOf("x") >= 0);
        
        //oder
        int[] b = {3,5,47,5465,46,1,6,766};
        Arrays.sort(b);
        System.out.println(Arrays.toString(b));
        System.out.println(Arrays.binarySearch(b,766)>=0);
```

Gruß Tom


----------



## Visual EZ++ (3. März 2006)

Vielen Dank erstmal für die schnelle Antwort! Ich kann leider nicht besonders viel damit anfangen, weil mein Compiler (bzw ich ) Probleme mit der Klasse Arrays hat. Habe das Problem übergangsweise anders "gelöst". Und zwar habe ich den Array, um den es geht, großzügig dimensioniert und allen Elementen den Wert 0 zugewiesen. Wenn also ein Element nach dem Prozedere immer noch den Wert 0 hat, dann wurde quasi "kein Wert zugewiesen".


----------



## Thomas Darimont (3. März 2006)

Hallo!

Hast dus schon mal mit:
import java.util.Arrays;
versucht?

Gruß Tom


----------



## Visual EZ++ (3. März 2006)

--------------------


----------



## js-mueller (3. März 2006)

Ich bin mir da grad nicht ganz sicher, bin grad selber erst am lernen, aber versuch es mal auf null abzufragen, sprich if (var == null )


----------



## Snape (6. März 2006)

Moin,
jetzt kannst Du Dir sicher sein.


----------



## Visual EZ++ (6. März 2006)

--------------------


----------



## DerKleineVomSee (7. März 2006)

Ich weiß nicht ob dir das weiter hilft, aber reicht es nicht, wenn du die Variable mit null initialisierst und an gegebener Stelle die Variable auf null prüfst?


```
int var = null; 
....
....
....
if(var == null){
     System.out.println("var ist null");
}//if
```


----------



## Visual EZ++ (7. März 2006)

--------------------


----------



## js-mueller (7. März 2006)

Dann fang doch einfach die Fehlermeldung ab die vom System gesendet wird wenn du ein nicht existierendes Element aufrufst.


```
String [] test = new String[5];

try
{
    test[4] = "muh";
    System.out.println(test[4]);
}
catch (Exception fehler)
{
    System.out.println("Fehler: "+fehler);
}
```
Wenn du jetzt statt test[4] test[5] benutzt wird er dir den Fehler über out.println ausgeben.
( Weil test[5] ja nicht definiert ist )


----------



## Tsa (8. März 2006)

Hey,
Noch ne Möglichkeit:
Du kannst mit deinArray.length die Länge abfragen und mit deinArray.length -1 haste dann die Stellen wie weit du ihn durchlaufen kannst. Kannst einfach vor der Ausgabe mit if/else abfragen ob dein Index größer ist als deinArray.length-1 und demnach weiter vorgehen. Dann kannste dir die Exceptions sparen  
Tschöö,
Jens


----------



## Visual EZ++ (8. März 2006)

@js-müller: Das könnte die Lösung des Problems sein! Werde diese Variante gleich mal ausprobieren.

@Tsa: Danke für den Tipp, aber mein Problem ist, dass man einen Array[12][31] hat, der mit aufsteigenden nummern befüllt ist. Bei diesem Array handelt es sich um einen Tageszähler für Monate und Tage. Wenn z.b. Array[13][28] abgefragt wird, dann soll es eine Rückmeldung geben, dass dieses Element nicht existiert, da es kein Tag/Monat im Jahr ist. 

Trotzdem vielen Dank an alle, die hier so fleißig am helfen sind!!


----------

