Hallo Leute!...
Habe in Java einen Wochentagberechner geschrieben...
Nur er funktioniert einfach nicht und nach meheren Stunden Fehlersuche, zum Teil zusammen
mit meinem Arbeitskollegen (auch Azubi) ist mir echt Wirr und ich denke hier sind sicher welche die schnell sehen, was da schief läuft...
Hie mein Code:
Sorry, wenn nicht sofort klar ist, was was ist, hatte eig. alles kommentiert, leider führt das hier zu totaler unleserlichkeit aufgrund der Zeilenumbrüche :/
Hoffe ihr könnt iwie helfen...
Danke!
Habe in Java einen Wochentagberechner geschrieben...
Nur er funktioniert einfach nicht und nach meheren Stunden Fehlersuche, zum Teil zusammen
mit meinem Arbeitskollegen (auch Azubi) ist mir echt Wirr und ich denke hier sind sicher welche die schnell sehen, was da schief läuft...
Hie mein Code:
Java:
import java.util.Scanner;
public class WochentagAusgeben {
public static void main(String[] args) {
int ReferenzJahr = 1584;
Scanner sc = new Scanner(System.in);
System.out.println("Geben Sie das gesuchte Jahr ein:");
int GesuchtesJahr = sc.nextInt();
System.out.println("Geben Sie den gesuchten Monat als Zahl ein:");
int GesuchterMonat = sc.nextInt();
System.out.println("Geben Sie den gesuchten Tag ein:");
int GesuchterTag = sc.nextInt();
int VergangeneTage = 0;
boolean Schaltjahr = false;
while (ReferenzJahr <= GesuchtesJahr) {
if (ReferenzJahr % 4 == 0) {
Schaltjahr = true;
}
if (ReferenzJahr % 100 == 0) {
Schaltjahr = false;
}
if (ReferenzJahr % 400 == 0) {
Schaltjahr = true;
}
if (Schaltjahr == true) {
VergangeneTage = VergangeneTage + 366;
} else {
VergangeneTage = VergangeneTage + 365;
}
ReferenzJahr++;
}
int Februar = 28;
if (Schaltjahr == true) {
Februar = 29;
VergangeneTage = VergangeneTage - 366;
} else {
VergangeneTage = VergangeneTage - 365;
}
switch (GesuchterMonat) {
case 1:
VergangeneTage = VergangeneTage + 0;
break;
case 2:
VergangeneTage = VergangeneTage + 31;
break;
case 3:
VergangeneTage = VergangeneTage + 31 + Februar;
break;
case 4:
VergangeneTage = VergangeneTage + 31 + Februar + 31;
break;
case 5:
VergangeneTage = VergangeneTage + 31 + Februar + 31 + 30;
break;
case 6:
VergangeneTage = VergangeneTage + 31 + Februar + 31 + 30 + 31;
break;
case 7:
VergangeneTage = VergangeneTage + 31 + Februar + 31 + 30 + 31 + 30;
break;
case 8:
VergangeneTage = VergangeneTage + 31 + Februar + 31 + 30 + 31 + 30 +31;
break;
case 9:
VergangeneTage = VergangeneTage + 31 + Februar + 31 + 30 + 31 + 30 +31 +31;
break;
case 10:
VergangeneTage = VergangeneTage + 31 + Februar + 31 + 30 + 31 + 30 +31 +31 + 30;
break;
case 11:
VergangeneTage = VergangeneTage + 31 + Februar + 31 + 30 + 31 + 30 +31 +31 + 30 + 31;
break;
case 12:
VergangeneTage = VergangeneTage + 31 + Februar + 31 + 30 + 31 + 30 +31 +31 + 30 + 31 + 30;
break;
default:
System.out.println("Offenbar gab es einen Fehler bei der Berechnung! \n Vielleicht bei der Monatseingabe vertippt?");
break;
}
int Wochentag = (VergangeneTage + GesuchterTag - 1) % 7;
switch (Wochentag) {
case 0:
System.out.println("Der gesuchte Tag ist ein Sonntag!");
break;
case 1:
System.out.println("Der gesuchte Tag ist ein Montag!");
break;
case 2:
System.out.println("Der gesuchte Tag ist ein Dienstag!");
break;
case 3:
System.out.println("Der gesuchte Tag ist ein Mittwoch!");
break;
case 4:
System.out.println("Der gesuchte Tag ist ein Donnerstag!");
break;
case 5:
System.out.println("Der gesuchte Tag ist ein Freitag!");
break;
case 6:
System.out.println("Der gesuchte Tag ist ein Samstag!");
break;
default:
System.out.println("Offenbar gab es einen Fehler bei der Berechnung!");
break;
}
}
}
Sorry, wenn nicht sofort klar ist, was was ist, hatte eig. alles kommentiert, leider führt das hier zu totaler unleserlichkeit aufgrund der Zeilenumbrüche :/
Hoffe ihr könnt iwie helfen...
Danke!
Zuletzt bearbeitet von einem Moderator: