Java <List<List<Integer>>> ausgeben lassen

Status
Für weitere Antworten geschlossen.

Bremer96

Newbie
Registriert
Sep. 2015
Beiträge
5
Hallo,

mein Problem ist, dass ich es irgendwie nicht hin bekomme mir durch for schleifen eine <List<List<Integer>>> lists ausgeben zu lassen. Bzw. diese durchzugehen.
Wie macht man das genau? Ich vermute 2 verschachtelte For-Schleifen, aber ich weiß nicht genau, wie ich auf welche Dimension der Liste zugreifen kann.

Die Grundaufgabe ist, die Summe aller graden Zahlen der Liste ausgeben zu lassen. Deswegen muss ich jeden Wert durchgehen.

Würde mich über einen Lösungscode für mein Problem sehr freuen.
Vielen Dank schon einmal in Voraus! :)

LG
 
Einfach zwei verschachtelte ForEach schleifen.
Angenommen deine Liste heißt "list" =>
Code:
for (List<Integer> internal : list)
  for (Integer i : internal)
    // Ausgeben von i

EDIT:
Wenn du noch konkreter wissen willst auf welcher ebene du bist:

Code:
int x = 0;
int y = 0;
for (List<Integer> internal : list)
{
  x++;
  for (Integer i : internal)
  {
     y++;

     System.out.println("[" + x + "] - [" + y "]: " + i);
  }
}

Info: Bin gerade nicht sicher ob java automatisch int nach string umwandelt bei der ausgabe. Bin eigentlich C# Entwickler ^^
 
Zuletzt bearbeitet:
Hi,

Die Grundaufgabe ist, die Summe aller graden Zahlen der Liste ausgeben zu lassen. Deswegen muss ich jeden Wert durchgehen.

das klingt sehr nach Hausaufgabe, kann das sein?

Würde mich über einen Lösungscode für mein Problem sehr freuen.

sorry, aber das ist deine Aufgabe, nicht unsere. Denkanstöße ok, aber fertigen Code? Was lernst du dabei?

Was hast du denn bisher schon versucht?

VG,
Mad
 
+1 Madman1209
 
super, vielen Dank für die schnelle Antwort.
Eine Kleinigkeit noch (bin noch ein Java Anfänger).
Wofür genau steht internal? -- Habe noch nicht damit gearbeitet
Ergänzung ()

Es ist eine Klausurvorbereitung, wofür es keine Lösungen gibt.

Hab mir schon viele Projekte angeschaut und bin nicht auf die Lösung gekommen. Wollte nicht alles gelöst haben, sondern nur wissen, wie man die Werte durchgehen kann.
 
internal ist der Name der variablen in der foreach schleife... :)

Kannst auch "Kaesekuchen" hinschreiben ^^

EDIT:

merke gerade, dass das ja ein keyword ist xD ersetze das UNBEDINGT durch Kaesekuchen! :)
 
haha ok.. hatte gerade n Denkfehler
Haben meistens nur einen Buchstaben als Variablenbezeichner benutzt. :D
Danke nochmal
 
Hi,

Eine Kleinigkeit noch (bin noch ein Java Anfänger).Wofür genau steht internal? -- Habe noch nicht damit gearbeitet

bin nicht auf die Lösung gekommen

Es ist eine Klausurvorbereitung

Nichts für Ungut, aber das ist eine denkbar schlechte Kombination. Was genau studierst du / welche Schule besuchst du und was für eine Klausur ist das? Schleifen sind Grundlagen. Ich glaube kaum, dass euer Lehrer hinschreibt "<List<List<Integer>>>" und euch dann damit alleine lässt. Irgendwas werdet ihr ja wohl schon besprochen haben, oder nicht?

VG,
Mad
 
Nicht hilfreich, aber C# wäre hier cooler ;D

Code:
list.Sum(x => x.Select(y => y.Sum());

Muhaha ^^ Aber hilft dir nicht bei Java ;-) Musst du selber basteln. Und Lösungen suchen bringt dir wenig für die Zukunft, da haben die anderen schon recht.
 
Informatik ist ein kleiner Teil des Studiums. Stand gerade nur auf dem Schlauch. Die Grundlagen habe ich generell drauf, keine Angst. :D

Code:
    public static int countEven(final List<List<Integer>> lists) {
        int sum = 0;

        for (List<Integer> k : lists){
            
            if (lists == null){
                throw new IllegalArgumentException();
            }
            
            for (Integer i : k) {
                
            if (lists == null){
                throw new IllegalArgumentException();
            }
            
                if (i%2 == 0) {
                    sum += i;
        }
    }
    }
    return sum;
}

Ist auch schon alles zu Ende gelöst :D

VG
 
Zuletzt bearbeitet:
Die Exception ist doppelt. in der inneren schleife brauchst du die liste nicht mehr auf null checken.

Außerdem, benutze doch bitte CODE blöcke im Forum ([*Code][*/Code] ohne *) *Augenkrebs*
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben