Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo, ich habe ein 4 dimensionales String-Array das mir probleme bereitet wenn ich es ausgeben will. Ich möchte das nur die Slots ausgegeben werden die nicht null enthalten. Ich habe vermutlich viel zu viele verkettete Schleifen, hatte aber auch keine andere Lösung parat.
In meinem Test hatte ich nur einen Eintrag gespeichert, der wurde mir auch ausgegeben, nach ca 20 Sekunden Wartezeit(Dachte erst das Programm hätte sich aufgehängt oder so), was vermutlich daran liegt das ich Schleife in Schleife in Schleife habe. Nachdem er dann tatsächlich den richtigen Slot ausgegeben hat, hat er das jedoch x-mal, bis eine ArrayIndexOutOfBoundsException kam.
Hier mal die relevanten Teile meines Codes:
Java:
String[][][][] kalender = new String[5000][12][31][24];
//[Jahr][Monat][Tag][Stunde]
kalender[jahr][monat] = new String[tage][stunden];
System.out.println("Bitte geben sie den Betreff ein: ");
kalender [jahr-1][monat-1][tage-1][stunden-1] = sc.next();
...
for(int w = 0; w<kalender.length; w++){
for(int a = 0; a<12; a++){
for(int x = 0; x<kalender[a].length; x++){
for(int b = 0; b < 31; b++){
for(int y=0;y<kalender[b].length;y++){
for(int c = 0; c<24; c++){
for(int z = 0; z<kalender[c].length;z++){
if(kalender[w][x][y][z] != null){
System.out.println(kalender[w][x][y][z]);
}
}
}
}
}
}
}
}
Ja das stimmt
Ich versuche für verschiedene Datum(s?) mit anfang und enduhrzeit einen String zu speichern (Also einen Termin). Und versuche ihn dann auszugeben indem ich alle strings vergleiche und die ausgebe die eben nicht null sind. Wäre für jede Idee dankbar
Schreib dir ne Klasse Termin mit 3 Attributen: Beschreibung (String), Start (Date), Ende (Date), und packe die in eine ArrayList<Termin>.
Das, was du oben machst, ist, dass du durch alle "Zeitscheiben" eines Jahres durchgehst und die nicht-freien ausgibst.
Wofür steht die 5000? Für die max. Anzahl Termine die man in einer Stunde haben kann? Dann reden wir hoffentlich nicht vom Terminkalender einer Einzelperson.
Danke Ich probiere das dann mal. ArrayList muss ich mir nochmal richtig anschauen, habe morgen Mitternacht Abgabe und bin seit wochen richtig am büffeln, aber jetzt fehlt mir etwas die Praxis da ich immer nur aufgaben hatte in denen die momentanen Themen bearbeitet wurden anstatt alles in einem größeren Projekt zu haben.
Die 5000 sollten für 5000 Jahre stehen, ich denke jedoch das auch 30 jahre reichen würden. In der Aufgabe stand nicht das der Terminkalender nur für eine bestimmte Zeitspanne nutzbar sein soll, deswegen habe ich versucht diese wenigstens so groß wie möglich zu halten.