1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Wertzuweisung von Arrays

  • Umikron
  • 14. November 2012 um 12:26
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Umikron
    Punkte
    15
    Beiträge
    2
    • 14. November 2012 um 12:26
    • #1

    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

  • Adok
    Punkte
    4.199
    Beiträge
    714
    • 14. November 2012 um 12:44
    • #2

    Das macht man normalerweise mit einer for-Schleife.

  • Paulchen
    Gast
    • 14. November 2012 um 12:48
    • #3
    Zitat von Umikron

    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;
    }
  • Umikron
    Punkte
    15
    Beiträge
    2
    • 14. November 2012 um 12:53
    • #4

    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.

  • emptyvi
    Punkte
    2.037
    Beiträge
    374
    • 14. November 2012 um 13:03
    • #5
    Zitat von Umikron

    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.

    Code
    [COLOR=#000000][COLOR=#0000BB]boolean[/COLOR][COLOR=#007700][] [/COLOR][COLOR=#0000BB]blubb [/COLOR][COLOR=#007700]= new [/COLOR][COLOR=#0000BB]boolean[/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]30[/COLOR][COLOR=#007700]]; 
    
    
    for([/COLOR][COLOR=#0000BB]int i[/COLOR][COLOR=#007700]=[/COLOR][COLOR=#0000BB]0[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000BB]i[/COLOR][COLOR=#007700]<[/COLOR][COLOR=#0000BB]blubb[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]length[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000BB]i[/COLOR][COLOR=#007700]++) {
    
    
        // Setze jedes zweite Element auf true, die anderen auf false
        // indem der Wahrheitswert der Aussage "hat i dividiert durch 2
        // den Rest 1?" gesetzt wird.
        [/COLOR][COLOR=#0000BB]blubb[/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]i[/COLOR][COLOR=#007700]] = ([/COLOR][COLOR=#0000BB]i % 2 == 1)[/COLOR][COLOR=#007700]; 
    }
    [/COLOR][/COLOR]
    Alles anzeigen

    Einmal editiert, zuletzt von emptyvi (14. November 2012 um 13:06)

  • Adok
    Punkte
    4.199
    Beiträge
    714
    • 14. November 2012 um 13:43
    • #6

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

  • emptyvi
    Punkte
    2.037
    Beiträge
    374
    • 14. November 2012 um 14:02
    • #7
    Zitat von Adok

    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. ;)

    Einmal editiert, zuletzt von emptyvi (14. November 2012 um 14:07)

  • Paulchen
    Gast
    • 14. November 2012 um 14:07
    • #8

    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);
        }
    }
  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum