[Java] brauche hilfe bei lösung eines problems

W

Wizard of OS

Gast
Java: brauche hilfe bei lösung eines problems

hallö,

habe n java buch und da stehen nette aufgaben drinne, eine davon muss ich lösen, wobei cih es mit dem unterem code gemacht habe, das problem ist, dass im buch noch keine if-Anweisungen benutzt wurden und ich einfach vorgegriffen habe , desweiteren muss ich sagen, dass es schon mal eine aufgabe gab, die ohne weiteres nachschlagen bzw. nur das benutzten, was im buch schon besprochen wurde, nicht zu lösen war.

Die aufgabe lautet wie folgt:

Arbeitsschichten in einer Fabrik. In einer Fabrik ist der 24 h-Tag wie unter dargestelllt in 3 Schichten unterteilt. Schreiben sie ein programm, das von der aktuellen Uhrzeit an, die von einer Schicht noch verbelibende Zeit in stunden und minuten berechnet, und geben Sie dabei aus, in welche schicht wir uns gerade befinden.

Schicht 1 von 0000 bis 0759
Schicht 2 von 0800 bis 1559
Schicht 3 von 1600 bis 2359

Code:
class WorkDay {

	public static void main (String [] args) {
		new WorkDay ();
		
		int session1 = 759;
		int session2 = 1559;
		int session3 = 2359;
		int actualTime = 539;
				
		// remainMin = (session1 % 100) - MinToGo;
		// remainHour = (session1 / 100) - HourToGo;
		
		System.out.println("");
		
		System.out.println("Die 1. Schicht ist von: 0000 bis " + "0" + session1 + " Uhr");
		System.out.println("Die 2. Schicht ist von: 0800 bis " + session2 + " Uhr");
		System.out.println("Die 3. Schicht ist von: 1600 bis " + session3 + " Uhr\n");

		if (actualTime < session1) {
			System.out.println("Es verbleiben noch: " + ((session1 / 100) - (actualTime / 100)) + ":" + ((session1 % 100) - (actualTime % 100)) + " h");
		}
		else { 
			if (actualTime < session2) {
				System.out.println("Es verbleiben noch: " + ((session2 / 100) - (actualTime / 100)) + ":" + ((session2 % 100) - (actualTime % 100)) + " h");
			}
			else {
				System.out.println("Es verbleiben noch: " + ((session3 / 100) - (actualTime / 100)) + ":" + ((session3 % 100) - (actualTime % 100)) + " h");
			}
		}
		
		System.out.println("");
		
		if (actualTime < session1) {
			System.out.println("Sie sind gerade in der 1. Schicht");
		}
		else {
			if (actualTime < session2) {
				System.out.println("Sie sind gerade in der 2. Schicht");	
			}
			else {
				System.out.println("Sie sind gerade in der 3. Schicht");
			}
		}
	
	}
}

meine frage nun, wie löse ich das OHNE if-Anweisungen

danke
 
man könnte hier einfach die Uhrzeit auf 3 Werte runden lassen: Stunde / 8 = Schicht, wobei man auf die richtige Rundung achten muss
 
danke

so haben mir das auch andere vorgeschlagen, wieso bin ich nicht drauf gekommen :D
 
Zurück
Oben