# Switch-Case für eine Array-Zuordnung



## Schniggor (13. Nov 2017)

Hallo zusammen und zwar möchte ich einem Array5 aus einem Array1 für ungerade Zahlen den Wert true und für gerade Zahlen den Wert false zuweißen. Dazu muss eine Switch-case Struktur verwendet werden.

Meine bisherige Überlegung siehe im Bild: Allerdings gibt mir die Ausgabe nur false aus und für gerade Werte nicht den Wert true, hat jmd eine Idee, wo der Fehler steckt?

Achja Array 1 hat die Werte 7, 0, 9, 3, 8


```
boolean[] array5 = new boolean[5];
        boolean ungerade= true;
        boolean gerade=false;
        for(i=0; i < array1.length; i++){
         
            int var=array1[i];
         
            switch(var){
                case 0:
                    gerade=array5[i];
                    break;
                case 3:
                    ungerade=array5[i];
                    break;
                case 7:
                    ungerade=array5[i];
                    break;
                case 8:
                    gerade=array5[i];
                    break;
                case 9: 
                    ungerade=array5[i];
                    break;     
            }
        System.out.print(array5[i]);
        }
```


----------



## Robat (13. Nov 2017)

Schau dir mal an was du in einander zuweist.
Du willst doch den gerade/ungerade in das Array schreiben.
Momentan schreibst du den Wert des Array-Elementes in gerade/ungerade.

PS: Code nächstes mal bitte in [code=Java]CODE...[/code]-Tags.


----------



## SchwarzWeiß (13. Nov 2017)

Code nicht als Bild mitanhängen sondern in der Symbolleiste auf Einfügen -> Code -> Java

anstatt 
	
	
	
	





```
gerade = array5[i];
```
 solltest du 
	
	
	
	





```
array5[i] = gerade
```
 schreiben


----------



## SchwarzWeiß (13. Nov 2017)

Robat war schneller


----------



## Schniggor (13. Nov 2017)

achso ok so einfach geht die Lösung^^

ja ok verstanden, danke euch beiden


----------



## SchwarzWeiß (13. Nov 2017)

Alternative Lösung ohne switch-case:

```
public static void main(String[] args) {
    int[] array1 = { 3, 0, 4, 12, 17, 1999 };
    boolean[] array5 = new boolean[array1.length];

    for (int i = 0; i < array1.length; i++) {

      array5[i] = isEven(array1[i]);

      System.out.println(array5[i]);
    }

  }

  static boolean isEven(int number) {
    return number % 2 == 0;
  }
```


----------

