Hallo Leute,
ich muss ein Programm erstellen das Folgendes leistet:
z.B. Bei Eingabe 2015 10 7 16 30 30 muss als Ausgabe 2015 10 7 17 0 erscheinen,
weil 30 Minuten nach 16:30 am 7.10.2015 ist: 17:00 am 7.10.2015.
Mein Code macht das aber nicht sondern gibt das Gleiche wieder aus. Also bezogen auf den oberen Beispiel addiert er die 30 Minuten nicht .
Eigentlich sieht der Code fuer mich richtig aus , vielleicht habe ich was uebersehen.
ich muss ein Programm erstellen das Folgendes leistet:
z.B. Bei Eingabe 2015 10 7 16 30 30 muss als Ausgabe 2015 10 7 17 0 erscheinen,
weil 30 Minuten nach 16:30 am 7.10.2015 ist: 17:00 am 7.10.2015.
Mein Code macht das aber nicht sondern gibt das Gleiche wieder aus. Also bezogen auf den oberen Beispiel addiert er die 30 Minuten nicht .
Eigentlich sieht der Code fuer mich richtig aus , vielleicht habe ich was uebersehen.
Java:
import java.util.Scanner;
public class DatumErweiterung {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int year, month, day, hour, minute, add;
year = sc.nextInt();
month = sc.nextInt();
day = sc.nextInt();
hour = sc.nextInt();
minute = sc.nextInt();
add = sc.nextInt();
if ((minute + add) > 60)
{
minute = (minute + add) % 60;
hour++;
}
if (hour > 23)
{
hour = hour % 24;
day++;
}
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (day > 31)
{
day = day % 31;
month++;
}
break;
case 2:
if (day > 28)
{
day = day % 28;
month++;
}
break;
case 4:
case 6:
case 9:
case 11:
if (day > 30)
{
day = day % 30;
month++;
}
break;
}
if (month > 12)
{
month = month % 12;
year++;
}
System.out.println(year + " " + month + " " + day + " " + hour + " " + minute);
sc.close();
}
}