Datum Programm

Spanier

Mitglied
Hallo liebe User

ich studiere Informatik und habe als Aufgabe eine Programmieraufgabe erhalten die mich auf paar Probleme stören lässt.

Es soll als Eingabe über die Tastatur (Scanner) Jahr, Monat, Tag, Stunde, Minute und ein Parameter(Minuten 2) übergeben werden.

Als Beispiel Eingabe : 2015 10 7 16 30 30 steht für 16:30Uhr am 7.10.2015 und addiert sollen 30 min werden.
Als Ausgabe soll dann: 2015 10 7 17 0 weil nach 30min nach 16:30Uhr am 7.10.2015 es 17Uhr ist.

Meine Hindernisse sind erstmal die Int werde. zb soll das Jahr 1600-3000 haben. Monate 12 und so weiter.

Wie schriebe ich diese in das Programm.

Weil ich habe meine Int werte erstmals als sc.nextInt() deklariert, da diese ja über die Tastatur eingeben werden sollen.
 

Joose

Top Contributor
Meine Hindernisse sind erstmal die Int werde. zb soll das Jahr 1600-3000 haben. Monate 12 und so weiter.
Wie schriebe ich diese in das Programm.
Weil ich habe meine Int werte erstmals als sc.nextInt() deklariert, da diese ja über die Tastatur eingeben werden sollen.

Diese Anforderung ist mir noch nicht wirklich klar. Was heißt den "der int wert jahr soll 1600-3000 haben"? Heißt dass das Jahr muss >1600 und <3000 sein? Dann schreib das doch genauso in dein Programm ;)
 

Spanier

Mitglied
ok sorry für die schwammige Formulierung, das Jahr sollte im Intervall von 1600 und 3000 liegen. Und genau da liegt mein Problem, wie schreibe ich das so hin ?

Zumal ich auch den Scanner benutzen muss...
 
Zuletzt bearbeitet:

Joose

Top Contributor
Zumal ich auch den Scanner benutzen muss...
Der Scanner ist nur zum Einlesen der Daten, was der nun einliest ist vollkommen egal. Ob der eingelesene Wert gültig ist musst bzw. kannst du erst nach dem Einlesen prüfen.

das Jahr sollte im Intervall von 1600 und 3000 liegen. Und genau da liegt mein Problem, wie schreibe ich das so hin ?
Ich habe es ob schon mal einfacher aufgeschrieben. Dein Jahr soll ">= 1600" sein und(!) "<= 3000".
Für so eine Prüfung wird ein einfaches if-Statement reichen. Wie ein if-Statement aufgebaut ist wirst du hoffentlich schon gelernt haben (ist eine grundlegende Element in (fast) jeder Programmiersprache).

Ähnliches gilt dann für das Monat, dieses muss ">= 1" sein und(!) "<=12".

Hier 2 Links für Bedingungen:
http://www.tutorialspoint.com/java/java_decision_making.htm
http://www.tutorialspoint.com/java/if_statement_in_java.htm
 

strußi

Top Contributor
mach doch eine variable int jahr =0;
das gleiche kannst du auch für deine Monate(1-12) Tage( 1- Monatsabhängig) Stunden(0-24) minuten(0-59) machen, beachte aber dass du unterschiedliche anzahl an Tagen für verschiedene Monate hast (Februar 28 oder 29 Tage Stichwort Schaltjahr)
while( jahr <1600 && jahr >3000){
jahr =eingabe einlesen //musst du selber rausbekommen;
}
 

Spanier

Mitglied
Ah ok jetzt verstehe ich. Klar die ganzen Schleifen habe ich drauf. Mein Problem war folgendes, da es mit dem Scanner initialisiert werden sollte habe ich die integer scan.nextInt mit dieser Deklaration am Anfang des Programms gemacht. Dadurch war mir nicht ersichtlich wie ich die Kriterien mache. Aber durch den Tipp dies in der While Schleife zu machen, da dies ja eine Boolsche Antwort sein muss habe glaube ich zu weit gedacht, wollte schon Arrays nehmen um die Werte am Anfang zu deklaieren-.-.

Super Forum hier :)

Ich bin quasi völlig falsch an die Sache herangegangen...

Ok vielen Dank für die Zahlreichen Kommentaren und danke für Eure Hilfe :)
 
Zuletzt bearbeitet:

Neue Themen


Oben