Guten Tag liebes Java-Forum,
ich hab ein kleinen Fehler im Code und weiß nicht genau wie ich den lösen soll.
Kurz zum Verständnis:
Ziel der Aufgabe ist es in der Console seinen Geburtstag einzugeben und er berechnet die Differenz der Tage zum heutigen Datum.
Das Programm sollte so funktionieren das nach dem man das Geburtsdatum eingegeben hat, direkt der Satz erscheint: Hallo Max Mustermann, Du bist XXX Tage alt.
Doch bislang hab ich das so das ich Name und Geburtsdatum eingeben muss und anschließend dann das Datum und dann erscheint erst der Satz..
Ich denk mein Fehler liegt in der Zeile 12: Date date1 = simpleDateFormat.parse(IO.readString());
und in der Zeile 46 bei der String ausgabe.
-Die Ausgabe der Console befindet sich im Anhang.
[CODE lang="java" title="DateTi meUtils"]import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimeUtils {
//Start der Main-Methode!
public static void main(String[] args) {
DateTimeUtils obj = new DateTimeUtils();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/M/yyyy");
try {
Date date1 = simpleDateFormat.parse(IO.readString());
Date date2 = simpleDateFormat.parse("27/12/2020");
obj.printDifference(date1, date2);
} catch (ParseException e) {
e.printStackTrace();
}
}
//Ende der Main-Methode!
//IO Ausgaben
String vorname = IO.readString("Vorname: ");
String name = IO.readString("Name: ");
int tag = IO.readInt("Geburtsdatum Tag: ");
int monat = IO.readInt("Geburtsdatum Monat: ");
int jahr = IO.readInt("Geburtsdatum Jahr: ");
// 1 minute = 60 seconds
// 1 hour = 60 x 60 = 3600
// 1 day = 3600 x 24 = 86400
public void printDifference(Date startDate, Date endDate) {
// milliseconds
long different = endDate.getTime() - startDate.getTime();
long secondsInMilli = 1000;
long minutesInMilli = secondsInMilli * 60;
long hoursInMilli = minutesInMilli * 60;
long daysInMilli = hoursInMilli * 24;
long elapsedDays = different / daysInMilli;
different = different % daysInMilli;
String ausgabe = "Hallo " + vorname + " " + name + ", " + "Du bist " + elapsedDays + " Tage alt.";
System.out.println(ausgabe);
}
}[/CODE]
ich hab ein kleinen Fehler im Code und weiß nicht genau wie ich den lösen soll.
Kurz zum Verständnis:
Ziel der Aufgabe ist es in der Console seinen Geburtstag einzugeben und er berechnet die Differenz der Tage zum heutigen Datum.
Das Programm sollte so funktionieren das nach dem man das Geburtsdatum eingegeben hat, direkt der Satz erscheint: Hallo Max Mustermann, Du bist XXX Tage alt.
Doch bislang hab ich das so das ich Name und Geburtsdatum eingeben muss und anschließend dann das Datum und dann erscheint erst der Satz..
Ich denk mein Fehler liegt in der Zeile 12: Date date1 = simpleDateFormat.parse(IO.readString());
und in der Zeile 46 bei der String ausgabe.
-Die Ausgabe der Console befindet sich im Anhang.
[CODE lang="java" title="DateTi meUtils"]import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimeUtils {
//Start der Main-Methode!
public static void main(String[] args) {
DateTimeUtils obj = new DateTimeUtils();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/M/yyyy");
try {
Date date1 = simpleDateFormat.parse(IO.readString());
Date date2 = simpleDateFormat.parse("27/12/2020");
obj.printDifference(date1, date2);
} catch (ParseException e) {
e.printStackTrace();
}
}
//Ende der Main-Methode!
//IO Ausgaben
String vorname = IO.readString("Vorname: ");
String name = IO.readString("Name: ");
int tag = IO.readInt("Geburtsdatum Tag: ");
int monat = IO.readInt("Geburtsdatum Monat: ");
int jahr = IO.readInt("Geburtsdatum Jahr: ");
// 1 minute = 60 seconds
// 1 hour = 60 x 60 = 3600
// 1 day = 3600 x 24 = 86400
public void printDifference(Date startDate, Date endDate) {
// milliseconds
long different = endDate.getTime() - startDate.getTime();
long secondsInMilli = 1000;
long minutesInMilli = secondsInMilli * 60;
long hoursInMilli = minutesInMilli * 60;
long daysInMilli = hoursInMilli * 24;
long elapsedDays = different / daysInMilli;
different = different % daysInMilli;
String ausgabe = "Hallo " + vorname + " " + name + ", " + "Du bist " + elapsedDays + " Tage alt.";
System.out.println(ausgabe);
}
}[/CODE]