Hallo, ich habe einen Code geschrieben der einen den zeitlichen abstand zwischen zwei vom user eingegebenen abstände ausrechnet.
Habe mit den eingaben allerdings mit dem Input und zwar zum einen muss man jetzt immer erst das Jahr dann, Monat und dann das Datum und das alles einzeln kompakter und idiotensicherer wäre wenn man alles zsm eingeben könnte z.b YYYY.MM.DD. Und zu dem punkt idiotensicher auch wenn man aufgefodert wird erst die ältere Zeitangabe einzufügen und dann die neuere wäre es schön wenn der Code damit umgehen könnte, verscuht ahbe ich wenn eben der zeitabschnitt negativ ist was passiert wenn man erst die jüngere zeit eingibt der Code alle negativen werte mit -1 multiplizieren soll was diese positiv machen sollte, klappt aber nd. Ich hatte auch versucht was aber jetzt weg vom Code ist mit einer if Anweisung zu schauen welches Jahr kleiner ist und das eben danach gerechnet wird das Problem war allerdings wenn das Jahr gleich ist aber der Monat oder der Tag nicht passten. Weiß wer was man da machen kann?#
mein
Anmerkung zur Fragestellung diese ist unvollendet entschuldigen sie mich bitte falls dies zur Missverständnissen führt habe diese aber mittendrin ausersehen abgeschickt.
Habe mit den eingaben allerdings mit dem Input und zwar zum einen muss man jetzt immer erst das Jahr dann, Monat und dann das Datum und das alles einzeln kompakter und idiotensicherer wäre wenn man alles zsm eingeben könnte z.b YYYY.MM.DD. Und zu dem punkt idiotensicher auch wenn man aufgefodert wird erst die ältere Zeitangabe einzufügen und dann die neuere wäre es schön wenn der Code damit umgehen könnte, verscuht ahbe ich wenn eben der zeitabschnitt negativ ist was passiert wenn man erst die jüngere zeit eingibt der Code alle negativen werte mit -1 multiplizieren soll was diese positiv machen sollte, klappt aber nd. Ich hatte auch versucht was aber jetzt weg vom Code ist mit einer if Anweisung zu schauen welches Jahr kleiner ist und das eben danach gerechnet wird das Problem war allerdings wenn das Jahr gleich ist aber der Monat oder der Tag nicht passten. Weiß wer was man da machen kann?#
mein
Java:
import java.util.Scanner;
import java.time.temporal.ChronoUnit;
import java.time.LocalDate;
public class Zeitabstand
{
public static void main(String[] args)
{
Scanner zeta = new Scanner(System.in);
System.out.println("Hallo ich rechenn Ihnen den zeitlichen abstand zwichen zwei Zeiten aus. In Monaten, Wochen & Tagen. Geben sie dafür bitte erst den die ältere zeit das die kleinere und erst Jahr dan Monat dann den Tag!");
int jahr, monat, tag, jahr2, monat2, tag2;
jahr = zeta.nextInt();
monat = zeta.nextInt();
tag = zeta.nextInt();
jahr2 = zeta.nextInt();
monat2 = zeta.nextInt();
tag2 = zeta.nextInt();
LocalDate datum1 = LocalDate.of(jahr,monat,tag);
LocalDate datum2 = LocalDate.of(jahr2,monat2,tag2);
long monate = ChronoUnit.MONTHS.between(datum1, datum2);
long wochen = ChronoUnit.WEEKS.between(datum1, datum2);
long tage = ChronoUnit.DAYS.between(datum1, datum2);
if(monate>0 || wochen>0 || tage>0 )
{
monate = monate *-1;
wochen = wochen *-1;
tage = tage *-1;
}
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + monate + " Monate.");
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + wochen + " Wochen.");
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + tage + " Tage.");
/*else
{
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + monate + " Monate.");
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + wochen + " Wochen.");
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + tage + " Tage.");
}
*/
/* der versuch mit dem JAhr:
if (jahr < jahr2)
{
long monate = ChronoUnit.MONTHS.between(datum1, datum2);
long wochen = ChronoUnit.WEEKS.between(datum1, datum2);
long tage = ChronoUnit.DAYS.between(datum1, datum2);
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + monate + " Monate.");
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + wochen + " Wochen.");
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + tage + " Tage.");
}
else
{
long monate = ChronoUnit.MONTHS.between(datum2, datum1);
long wochen = ChronoUnit.WEEKS.between(datum2, datum1);
long tage = ChronoUnit.DAYS.between(datum2, datum1);
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + monate + " Monate.");
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + wochen + " Wochen.");
System.out.println("Der abstand zwichen den beiden Zeiten beträgt " + tage + " Tage.");
*/
}
}
}