Anzahl der Minuten Umrechnen in Format HMM in Java

java

#1

Hallo Leute,

ich bin Wirtschaftsinformatikstudent im ersten Semester und bräuchte eure Hilfe bei einer Java Programmierung, da ich ein totaler Anfänger darin bin.
Unsere Hausaufgabe besteht darin zu einer anzahl von Minuten ( 5, 59, 60, 61 und 825) die volle Stunde und die verbleibenden Minuten im Format hmm auszudrücken, wobei Minuten mm und Stunde h ist.

mein Code sieht folgendermaßen aus:

int AnzahlderMinuten ;
int volleStunde ;
int verbleibendeMinuten ;
	
AnzahlderMinuten = 825;
volleStunde = (AnzahlderMinuten / 60) ;
verbleibendeMinuten = (AnzahlderMinuten % 60)   ; 
		
	System.out.println(volleStunde + "" + verbleibendeMinuten );

nun zu meinem Problem:

  • wenn ich der Variable AnzahlderMinuten die Zahlen ( 5, 59 und 825) zuweise funktioniert es auch problemlos im format hmm (also bei 5 kommt 5 raus , bei 59 kommt 59 raus und bei 825 kommt 1345 raus), sobald ich jedoch die Zahlen 60 und 61 zuweise kommen die ergebnise (bei 60 --> 10 und bei 61 --> 11).

da ich die Aufgabe aber im hmm Format ausdrücken muss (also bei 60 müsste 100 und bei 61 müsste 101 rauskommen) weiß ich leider nicht wie ich weiter vorgehen soll.
ich habe gefühlt durch das ganze Internet gestöbert und keine vernüpftige antwort dazu gefunden.

Ich hoffe Ihr könnt mir helfen.

MfG

derNeue

PS: bitte beachtet, dass die Hausaufgabe für einen grundlagenkurs ist, sodass wir weder methoden noch andere möglichkeiten benutzen dürfen, also es so simpel (für jemanden der grade mit dem Programmieren beginnt) wie möglich gestalten müssen.

Ich freue mich auf eure Hilfen :slight_smile:


#2

Falls ich das richtig verstanden habe, könnte/sollte dieser Schnipsel schon helfen:

    for (int i = 0; i < 12; i++)
    {
        String formatted = String.format("%02d", i);
        System.out.println(i + " formatted is " + formatted);
    }

(Man könnte auch was machen, wo while (string.length() < 2) string = "0"+string; drin vorkommt, aber das String#format sollte es in diesem Fall schon tun…)


#3

Ist doch klar, warum. “1”+“0” sind “10” und “1”+“1” sind “11”. 1 Stunde und 0 Minuten und 1 Stunde und 1 Minute.
Versuchs mal mit

System.out.println(volleStunde + ":" + verbleibendeMinuten);

oder besser

System.out.println(String.format("%02d:%02d",volleStunde, verbleibendeMinuten);

#4

Ich hab hier auch noch eine Methode aus einer Tool-Klasse von mir

    /**
     * Erzeugt aus einer Zeit in Sekunden ein von Menschen lesbares Ergebnis in der Form HH:MM:SS.
     *
     * @param seconds
     *            Zeit in Sekunden.
     * @return Ein von Menschen lesbares Ergebnis in der Form HH:MM:SS.
     */
    public static String secondsToHoursMinutesSeconds(long seconds) {
        if (seconds < 0) {
            return "ERROR";
        }

        long rest = seconds;
        long secondsOut = rest % 60;

        rest -= secondsOut;
        rest /= 60;
        long minutes = rest % 60;

        rest -= minutes;
        rest /= 60;
        long hours = rest;

        return String.format("%02d:%02d:%02d", hours, minutes, secondsOut);
    }

#5
int AnzahlderMinuten;
int volleStunde;
int verbleibendeMinuten;
AnzahlderMinuten = 825;
volleStunde = (AnzahlderMinuten / 60) ;
verbleibendeMinuten = (AnzahlderMinuten % 60);
if (verbleibendeMinute < 10)
    System.out.println(volleStunde + "0" + verbleibendeMinuten );
else
    System.out.println(volleStunde + "" + verbleibendeMinuten );

#6

Danke für all eure hilfe.
die Antwort hat mir am meisten weitergeholfen, vielen Dank !!