Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Zubringerbus (Anweisungen und Abfolgen)

(entnommen aus Bishop: Java Lernen, S.89)

Zwischen zwei Terminals eines Flughafens verkehrt ein Zubringerbus, der jeweils zur halben und zur vollen Stunde losfährt. Schreiben Sie ein Programm, das eine Uhrzeit in der Form hhmm (aber ohne führende Nullen) erhält und berechnet, wie lange es bis zur Abfahrt des nächsten Busses noch dauert. Dabei bezeichnet hh die aktuelle Stunde und mm die aktuelle Minute.

Tipp: Berechnen Sie aus den Minuten der aktuellen Uhrzeit die zugehörige halbe Stunde.

1 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

Kommentare (1)

gressly 16. Dezember 2016 19:03   reply report
Unklar, ob bei jedem Terminal ein Bus zur vollen und zur halben Stunde abfährt. Falls nein, wäre noch anzugeben, wie lange der Bus von Terminal A zu Terminal B benötigt. Fährt er bei Terminal A nämlich zur vollen Stunde ab, so kann er (falls er 30 Minuten für die Strecke benötigt) in Terminal B nur immer zur halben Stunde abfahren.

Den Text "was bisher behandelt wurde" habe ich ersatzlos gestrichen. Haben "wir" doch bisher schon alle Kapitel behandelt; "ihr" nicht?

7 Lösung(en)

class P1ShuttleBus {

	public static void main(String[] args) {
		int currentTime = 1420; // in der Form hhmm
		int remainingTime, halfHours;
		
		int restlicheMinuten;
		restlicheMinuten = currentTime  % 100;
		
		if (0 <= restlicheMinuten && restlicheMinuten <=30){
		halfHours = 1;
		remainingTime =30- restlicheMinuten   ;
		}else{
			halfHours = 2;
			remainingTime= 60- restlicheMinuten;
		}
		
	
		
		

		
	
		

		System.out.println("Time remaining: " + remainingTime + " minutes.");

	}
}
                

Lösung von: Rene keller (HS LU)

public class Zubringerbus {
	
	public static void main(String[] args) {
		String temp = new SimpleDateFormat("HHmm").format(new Date()); //Aktuelle Uhrzeit.
		String current = (String.valueOf(temp).startsWith("0")) ? String.valueOf(temp).substring(1) : String.valueOf(temp); //Ohne führende Nullen.
		int time = Integer.parseInt(current); //Kann man auch durch 920 ersetzen.
		
		calc(time);
	}
	
	public static void calc(int time) {
		int minutes = time % 100;
		int remaining = (minutes > 30) ? 60 - minutes : 30 - minutes;
		
		System.out.println("Abfahrt des nächsten Busses in " + remaining + " Minuten.");
	}
}
                

Lösung von: Linus Götz (Lichtenberg-Gymnasium Cuxhaven)

def bus(time):
    return abs(30 - int(time[-2:]))
                

Lösung von: Bester Mensch (Class)

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;

public class BushalteStelle {

	public static void main(String[] args) {

		SimpleDateFormat sdf1 = new SimpleDateFormat("mm");
		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
		Timestamp time1 = new Timestamp(System.currentTimeMillis());
		String uhrzeit1 = sdf1.format(time1);

		double restZeit = 0;
		int warteZeit = 0;
		restZeit = Double.parseDouble(uhrzeit1);
		restZeit = (30 - (restZeit - ((Math.floor(restZeit / 30)) * 30)));
		warteZeit = (int) restZeit;
		System.out.println("Naechster Bus kommt in " + warteZeit + " Minuten");

		Date aktuelleZeit1 = new Date();
		Date naechsteAbfahrt = new Date(aktuelleZeit1.getTime() + (warteZeit * 60 * 1000));
		String uhrzeit = sdf.format(naechsteAbfahrt);
		System.out.println("Naechste Abfahrt um: " + uhrzeit + " Uhr");
	}

}

                

Lösung von: Alex Mahlknecht (Privater Unterricht)

time = Time.new

timehour = time.hour
timemin  = time.min

if timemin < 10
	timemin = "0#{timemin}"
end

if timehour < 10
	timehour = "0#{timehour}"
end

if timemin < 30
	restZeit = 30 - timemin
	ankuftszeit = "#{timehour}:30"
else
	restZeit = 60 - timemin
	timehour += 1
	ankuftszeit = "#{timehour}:00"
end

puts "Nächster Bus kommt in #{restZeit} Minuten. (Um #{ankuftszeit} Uhr)"
                

Lösung von: Mogens Meißner (Ellentalgymnasien)

Module ZubringerBus

    Sub Main()
        While (True)
            Console.WriteLine("Bitte Geben sie die Uhrzeit ein hh:mm")
            Dim checkTime As String = Console.ReadLine()
            Dim time As New DateTime
            If IsDate(checkTime) Then : time = checkTime : End If
            Dim timeLeft As Integer = 0

            If time.Minute <= 30 Then
                timeLeft = 30 - time.Minute
            Else
                timeLeft = 60 - time.Minute
            End If

            Console.WriteLine("Bus kommt in " & timeLeft & " Minuten!")
            Console.ReadLine()
            Console.Clear()
        End While
    End Sub

End Module
                

Lösung von: Elias Zech (Autoneum CH)

package Aufgaben.Zubringer;

public class ZubringerBus
{
	private static String actualTime;
	
	public static void main(String[] args)
	{		
		// Aktuelle Zeit über Kommandozeilenargument mitgeben
		actualTime = args[0];
		System.out.println("Zeit: " + actualTime);
		int remainingminutes = 
		Integer.parseInt(actualTime.substring(actualTime.length()-2, actualTime.length()));
				
		remainingminutes = 30 - remainingminutes % 30;
		System.out.println("Wartezeit: " + remainingminutes);
				
	}

}
                

Lösung von: Name nicht veröffentlicht

Verifikation/Checksumme:

524 →6

1038 → 22

1158 → 2

3 → 27

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 0.25
Schwierigkeit: Leicht
Webcode: uzib-jyek
Autor: ()

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen