Erst mal zu mir , ich bin seit einer Woche Informatik-Student und haben für diese Woche eine Schöne Hausaufgabe bekommen in EPR. Wir sind quasi noch am Anfang wenns um programmieren geht. Dementsprechend müssen wir keine Variablen oder sonst was für die Aufgabe deklarieren,die ich jetzt zusammen fasse.
Aufgabe 2.3
Realisieren Sie einen Ausdruck, der zu einer Anzahl Minuten die vollen Stunden und verbleibenden
Minuten im Format hmm liefert. h gibt die vollen Stunden, mm die verbleibenden Minuten an. Der
Ausdruck soll ausschließlich Operanden des Typs int enthalten.
Dabei sollen z.b Zahlen 5,60,61,825 die als minuten ausgedrückt werden jetzt in den format H:MM programmiert werden.
Nur hierfür stehe ich grade aufn Schlauch.
Ich weiß nämlich nicht wie ich den Restbetrag rechnen soll…
System.out.println(5 * 60 / 100 + 5 % ?? );
Dies ist mein Ansatz , doch ich komme nie auf das richtige ergebnis weil ich leider nicht mehr weiß was ich für die ?? einsetzen soll .
Falls ihr nicht versteht wie ich es meine, die Zahl 5 soll z.b als 5 ausgegeben werden, die zahl 60 als 100, die 61 als 101, und die 825 als 1345…
warum glaubst du dass dir % hilft,
irgendeinen grundsätzlichen Plan musst du doch verfolgen, irgendwelche Beispiele im Kopf haben, welche sind dies?
wenn für 5 auch nur 5 herauskommen soll, ist ‚5 * 60 / 100‘ = 3 + (irgendwas wahrscheinlich nicht negatives) noch ein Summand,
der nicht sofort automatisch auszuschließen ist, aber inwiefern sollte die 3 helfen?
etwas mit 60 zu versuchen ist ein guter Weg, die 100 aber brauchst du nicht,
(edit: ok, zunächst nicht, später schon, ich korrigiere einfach zu: brauchst du auch bald )
du weißt dass int / int gefundet wird?
fange mit einer Rechnung an, die die Stunden bestimmt, Rest noch nicht anschauen,
wenn das fertig und an ein paar Beispielen getestet, dann höhere Ziele setzen
Danke erstmal dass du geschrieben hast,
Das Problem bei mir ist gerade , dass ich die Aufgabe schon vorhin in der Uni bearbeitet hatte. Und mein Professor meinte auch dass wir die so lösen müssen,da wir nur bestimmte Lösungswege benutzen dürfen. Und ich komme einfach nicht mehr auf die Lösung habe schon mehrere Zahlen versucht sie zu dividieren aber es klappt nicht … ich hab halt genau diese Formel noch im Kopf die dafür war leider nur nicht das letztere… wo wir mit % rechnen sollten…
und für den linken Teil mag 5 … 60 … 100 meinetwegen auch hinkommen, aber nicht mit den aktuellen Rechenzeichen
bei allen Verständnis für ‚Lösung schon im Kopf haben‘, musst du dich irgendwann auch nochmal lösen und wieder klar und systematisch vorgehen,
wenn du die ‚Lösung im Kopf‘ sowieso nicht selbst erklären kannst ist sie im Grunde cheaten,
das kann durchaus deine Frage sein, nach fertiger Lösung ohne deine Beteiligung,
aber wäre es nicht wertvoller, durch eigene Anstrengung das Problem in ein Nicht-Problem zu verwandeln?
dafür werden dir später Leute, die Geld für deine Zeit bezahlen sollen, dankbar sein
das % ist eine Modulo Rechnung, das heißt es wird dort der Rest ausgegeben.
das / ist eine klassische Division ohne Rest und bei Int auch nur Ganzzahlen.
Somit ist um auf deine Stunden zu kommen deine Zeit durch 60 zu teilen (da üblicherweise eine Stunde 60 Minuten hat)
bei 5 Minuten ergäbe als 5/60=0 somit 0 Stunden was soweit für den linken Teil ok ist
bei 60 Minuten all 60/60 ergäbe es 1 was auch passt.
Für den Rechten Teil nimmst du nun den Modulo also das % und da kommt bei 5%60 5 raus was Stimmt, das 5 Minuten 5 Minuten sind
bei 60%60 kommt 0 raus, da diese Rechnung keinen Rest lässt, was auch Stimmt, da 60 Minuten exakt eine Stunde und keine weiteren Minuten sind.
Jetzt musst du nur bei deiner Ausgabe diese Werte zusammen setzen.
jedoch würde nun bei 61 die Aussgabe 11 ergeben, da die Fehlende 0 für das Format HMM nicht gesetzt wird.
Dafür könntest du noch überprüfen ob deine Minuten größer 9 sind.
Jeden Beitrag kontrollieren besteht doch kein Anlass, jeder möchte nur helfen, leider hat sich der TO nicht wieder gemeldet, der Ball liegt in seinem Feld, mit einer Variable zwei Zeilen, IMO.