Manipulation der Initialisierungsvariable einer Zählschleife

TheBambey

Mitglied
Gegrüßt liebes Forum zu dieser späten Stunde,
ich schreibe gerade ein Programm, welches alle möglichen Kombinationen meines "Tag-Stunde-Minute"-Formats ausgibt (und diese Information auch weiterverarbeitet) und das für einen bestimmten Tag. Das Programm ist in der Eingabeaufforderung bzw. Terminal auszuführen. Es wird nach dem Start nach einer Zahl (ein Tag, habe die if-Anweisung, ob es im Bereich von 1 und 31 weggelassen, da ich auf eine Vernunft des Benutzers (ich) hoffe) gefragt...
Java:
Scanner scan = new Scanner(System.in);
String input = scan.next();
..., welche darauf in einen Integer umgewandelt wird.
Java:
int in = Integer.valueOf(input);
Danach wird es in mein "Tag-Stunde-Minute"-Zeit-Format in Form von "DDHHMM" umgerechnet. Die "Formel" lautet:
Java:
int date = in * 10000;
Nun ist es ein gegebener Tag (Am Anfang des Programms abgefragt) um 00:00 in einem undefinierten Monat und Jahr. Danach kommt auch schon die Zählschleife:
Java:
int k=date+2360;						//'k' ist der maximale Wert; DD2359, wobei DD der Tag ist
for(int i=date; i<k; i++) {				//Stoppt die Schleife, wenn Sie vor dem Maximalwert liegt
	String actualDate = String.valueOf(i);	//Speichert 'i' in eine Zeichenkette
	if(i-date == 59) {					//zB. int date == 120000, i == 120059; Wenn 'i' (aktuelle Zeit) subtrahiert von 'date' (Dem Mindestwert) gleich 59, dann tue das...
		... Verarbeitung der Daten ...
		i += 41;					//'i' erhöht sich um 41 (i = i+41;), da (-59)+100=41, um auf die nächste Stunde zu wechseln
	} else {
		... Verarbeitung der Daten ...
	}
}

Wenn ich das Programm starte und "12" eingebe, dann sind trotzdem noch zB. "120161", usw. vorhanden. Ist meine Manipulation bei...
Java:
i += 41;
...denn nicht erlaubt? Ich habe jedenfalls bei meinen zwei Büchern zum Lernen von Java (schon länger her 😉) nichts mehr gefunden, dass es solche Einschränkungen dabei gibt. Habt Ihr Ideen?

Danke im Vorraus,
TheBambey
 
Habe den Fehler gefunden...
Habe die if()-Anweisung durch ein unschönes...
Java:
if(i-date == 59 || i-date == 159 || i-date == 259 || i-date == 359 || i-date == 459 || i-date == 559 || i-date == 659 || i-date == 759 || i-date == 859 || i-date == 959 || i-date == 1059 || i-date == 1159 || i-date == 1259 || i-date == 1359 || i-date == 1459 || i-date == 1559 || i-date == 1659 || i-date == 1759 || i-date == 1859 ||i-date == 1959 || i-date == 2059 || i-date == 2159 || i-date == 2259 || i-date == 2359)
...ausgewechselt 😳:autsch:.
 
Habe den Fehler gefunden...
Habe die if()-Anweisung durch ein unschönes...
Java:
if(i-date == 59 || i-date == 159 || i-date == 259 || i-date == 359 || i-date == 459 || i-date == 559 || i-date == 659 || i-date == 759 || i-date == 859 || i-date == 959 || i-date == 1059 || i-date == 1159 || i-date == 1259 || i-date == 1359 || i-date == 1459 || i-date == 1559 || i-date == 1659 || i-date == 1759 || i-date == 1859 ||i-date == 1959 || i-date == 2059 || i-date == 2159 || i-date == 2259 || i-date == 2359)
...ausgewechselt 😳:autsch:.


ein
Java:
if (i_date % 100 == 59)
sollte für deine Zwecke reichen und sieht doch etwas übersichtlicher aus 🙂
 
[OT]Sorry wenn ich den Thread hier etwas zweckentfremde, aber ich habe hier immerwieder folgendes Problem:

vxj034.png


Soll das so dargestellt werden?

Klar, ich kopier den Inhalt und füg den irgendwo ein zum Lesen, aber bin ich einfach zu blöd, oder ist das korrekt dargestellt?
[/OT]
 
Zuletzt bearbeitet:
Nein das sollte schon lesbar dargestellt sein.
Du verwendest anscheinend den IE (sofern ich das Design der Scollbar richtig deute).

Melde dich einfach beim Admin (E-Mail findest im Impressum) dieser müsste sich das anschauen, hier dürfte das CSS für den IE nicht ganz passen.
 
Richtig ich muss den IE nutzen, dachte schon das es (mal wieder.. ) am IE liegt.
der brauch ja auch immer seine Extrawurst...

Dann melde ich das mal so weiter, danke dir.

grüße,
zet
 

Zurück
Oben