# switch-case mit bedingungen?



## Cyrix_ (22. Nov 2006)

hi
ich habe einen double-wert und muss, wenn er zwischen -1und0 bzw 0und1 usw liegt verschiedene befehle ausfuehren. jetzt moechte ich die jedoch nicht alles in if-verzweigungen verschachteln. Gibt es so eine art switch-case fuer solche faelle?
schonmal danke fuer die hilfe
  cyrix


----------



## Beni (22. Nov 2006)

switch-case erlaubt keine Bedingungen (ausser dem implizit benutzen ==).


----------



## dsv fritz (22. Nov 2006)

Musst du für verschiedene Double-Werte unterschiedliche Befehle ausführen oder nur in den Bereichen [-1,0] und ]0,1] einige Anweisungen abarbeiten?


----------



## Zunera (22. Nov 2006)

Hallo,

wie von Beni schon gesagt gibt es keine gesonderten Bedingugen bei switch, aber du kannst dein Problem vielleicht auf folgende Art angehen:

(es sei die Variable "dw" dein Double-Wert)


```
switch((int)Math.floor(dw))
{
    case -1: System.out.println(dw + " liegt zwischen -1 und 0");
             break;
    case 0: System.out.println(dw + " liegt zwischen 0 und 1");
             break;
    case 1: System.out.println(dw + " liegt zwischen 1 und 2");
             break;
    case ...
}
```

Viele Grüße


----------



## Cyrix (22. Nov 2006)

ok so sollte ich es hinbekommen
vielen dank und sonst meld ich mich wieder


----------



## Zunera (22. Nov 2006)

Ups... nach der automatischen Mail und dem erneuten Überfliegen meines Beispiels fällt mir auf, dass Math.floor() glaube nur für positive doubles funktioniert... aber das Problem lässt sich auch recht leicht lösen


----------

