Wertzuweisung von Arrays

  • Hi ich bin noch relativ neu im Umgang mit java und hab auch schon versucht über google etc. eine Antwort zu finden allerdings erfolglos. Ich möchte in einem zweidimensionalem boolean Array mehreren Elementen den Wert True zuweisen. Allerdings sind das so um die 30 und deshalb dachte ich mir, es muss doch einen einfacheren weg geben als die Elemente aufzulisten?

    vielen dank schonmal für eine Antwort

  • Allerdings sind das so um die 30 und deshalb dachte ich mir, es muss doch einen einfacheren weg geben als die Elemente aufzulisten?

    Ja, klar, und zwar mit einer for-Schleife. Das sieht dann etwa so aus:

    PHP
    boolean[] blubb = new boolean[30];
    
    
    for(int i=0; i<blubb.length; i++) {
        blubb[i] = true;
    }
  • Achso ok danke. Aber wie würde es funktionieren wenn sagen wir mal die Hälfte trotzdem false bleiben soll? Weil mit der for Schleife bekommen doch dann alle den Wert True.

  • Achso ok danke. Aber wie würde es funktionieren wenn sagen wir mal die Hälfte trotzdem false bleiben soll? Weil mit der for Schleife bekommen doch dann alle den Wert True.

  • Eine andere Möglichkeit wäre, den Code von Paulchen zu verwenden und blubb.length durch blubb.length / 2 zu ersetzen...

    Wo kommen wir denn da hin, wenn wir hier einfachen und effizienten Code posten? Da könnte er ja gleich "Arrays.fill(blubb, 0, blubb.length /2, true);" machen..

    Tss.. xD

    Umikron: Wenn du generell systematisch Werte setzen willst, bieten sich hier Schleifen an. Mit Bedingungen in den Schleifen, kannst du hier noch zusätzlich entscheiden, wann jetzt der Wert gesetzt weren soll, und wann nicht. Ich habe das bei mir mit dem "Modulo"-Operator so gemacht.

    l.g. ;)

  • Der Vollständigkeit halber:

    Im ersten Posting ist eigentlich die Rede von einem zweidimensionalen Array. Die Werte kann man in diesem Fall recht einfach in zwei verschachtelten for-Schleifen festlegen.

    PHP
    boolean[][] blubb = new boolean[30][30];
    
    
    for(int i=0; i<blubb.length; i++) {
        for(int j=0; j<blubb[i].length; j++) {
            blubb[i][j] = (i+j % 2 == 0);
        }
    }

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!