1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Wertzuweisung von Arrays

  • Umikron
  • 14. November 2012 um 12:26
  • Unerledigt
  • Umikron
    2
    Umikron
    Mitglied
    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
    20
    Adok
    Mitglied
    Reaktionen
    49
    Punkte
    4.199
    Beiträge
    714
    • 14. November 2012 um 12:44
    • #2

    Das macht man normalerweise mit einer for-Schleife.

  • Paulchen
    1
    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
    2
    Umikron
    Mitglied
    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
    14
    emptyvi
    Logo 2012, Platz 2.
    Reaktionen
    102
    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


    ¤¸¸.•´¯`•¸¸.•..>> Join the herd, join "My Little Pony @ TU-Wien" <<..•.¸¸•´¯`•.¸¸¤
    ¤¸¸.•´¯`•¸¸.•..>> (100% Twilight Sparkle approved) <<..•.¸¸•´¯`•.¸¸¤


    PP-Tutor WS2011 - WS2014
    EVC-Tutor SS2015


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

  • Adok
    20
    Adok
    Mitglied
    Reaktionen
    49
    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
    14
    emptyvi
    Logo 2012, Platz 2.
    Reaktionen
    102
    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. :winking_face:


    ¤¸¸.•´¯`•¸¸.•..>> Join the herd, join "My Little Pony @ TU-Wien" <<..•.¸¸•´¯`•.¸¸¤
    ¤¸¸.•´¯`•¸¸.•..>> (100% Twilight Sparkle approved) <<..•.¸¸•´¯`•.¸¸¤


    PP-Tutor WS2011 - WS2014
    EVC-Tutor SS2015


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

  • Paulchen
    1
    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.

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung