Wochentag berechnen

Lestas89

Bekanntes Mitglied
Mit dem folgenden Programm kann ein Wochentag berechnet werden. Eine Sache verstehe ich jedoch im Quellcode nicht:

Java:
import javax.swing.JOptionPane;

class Aufgabe63{
      public static void main (String[] args){
       
        String t,m,j, ausgabe;
        int tag,monat,jahr;
        //jh steht für das Jahrhundert, d.h. die vorderen zwei Ziffern der Jahreszahl
        //ja steht für das Jahr im Jahrhundert, d.h. die beiden letzten Ziffern der Jahreszahl
        int jh, ja;
       
        t = JOptionPane.showInputDialog("Geben Sie den Tag ein:");
        m = JOptionPane.showInputDialog("Geben Sie den Monat als Zahl ein:");
        j = JOptionPane.showInputDialog("Geben Sie das Jahr ein. Es muss zwischen 1900 und 2099 liegen:");
         
        tag = Integer.parseInt(t);
        monat = Integer.parseInt(m);
        jahr = Integer.parseInt(j);
       
        //Abfrage, ob Datum korrekt eingegeben wurde
        if(tag < 1 || tag > 31 || monat< 1 || monat > 12 || jahr < 1900 || jahr > 2099){
            JOptionPane.showMessageDialog(null,"Sie haben ein falsches Datum eingegeben.\nStarten Sie das Programm neu.\nTschuess");
            System.exit(0);
        }
       
       
        jh = jahr/100;
        ja = jahr%100;
       
       
        //Monat ist Januar oder Februar
        if ((monat == 1) || (monat == 2)){
       
            monat = monat +9;
            ja--;
        }
        else
            monat = monat -3;
           
        //Berechnung
        tag = ((146097*jh)/4+(1461*ja)/4+(153*monat+2)/5+tag+1721119)%7;
       
        //Nr. des Tages legt den Wochentag fest, gelöst durch if
        ausgabe = "";
       
        if (tag == 0)
            ausgabe = "Montag";
           
        if (tag == 1)
            ausgabe = "Dienstag";
       
        if (tag == 2)
            ausgabe = "Mittwoch";
           
        if (tag == 3)
            ausgabe = "Donnerstag";
       
        if (tag == 4)
            ausgabe = "Freitag";
           
        if (tag == 5)
            ausgabe = "Samstag";
           
        if (tag == 6)
            ausgabe = "Sonntag";
         
        JOptionPane.showMessageDialog(null,"Der "+t+"."+m+"."+j+" ist ein "+ausgabe+".");
         
     }
     
}

Wieso sind diese Operationen notwendig:

jh = jahr/100;
ja = jahr%100;

Vielen Dank im Voraus!
 

Piotre19910

Aktives Mitglied
So wie ich dass sehe ist diese Operation notwendig damit du das jahrhundert und das jahr seperat anzeigen lassen kanst. Rechne es mall mit z.b. 2012 durch. da bekommst du für jh= 20 jahrhundert und ja=12 Jahre. hoffe du hast das gemeint
 

Meniskusschaden

Top Contributor
Ich glaube, Jahreszahl und Jahrhundert werden getrennt, damit man die Schaltjahresberechnung in den Griff bekommt, denn die Jahrhundertwechsel sind ja nur alle 400 Jahre ein Schaltjahr. Ein "normales" Jahrhundert hat 76 normale und 24 Schaltjahre, also76*365+24*366 = 36524Tage. Vier Jahrhundete hätten demnach36524*4 =146096Tage, wenn es nicht alle 400 Jahre noch ein Schaltjahr geben würde. Mit diesem extra Schalttag sind es dann 146097 Tage für 400 Jahre.
 

Schesam

Bekanntes Mitglied
Man kann auch einfach Java8 benutzen^^
Java:
System.out.println(LocalDate.of(2016, 4, 5).getDayOfWeek());
Auf deutsch:
Java:
System.out.println(LocalDate.of(2016, 4, 5).getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.GERMAN));[/java]

Das ganze dann in einer Zeile
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Wochentag berechnen Java Basics - Anfänger-Themen 10
A Wochentag eines Datums berechnen Java Basics - Anfänger-Themen 7
elsaaaaaa Wochentag als String ausgeben mit JDK Klassen Java Basics - Anfänger-Themen 6
M Wochentag ermittel und ggf tage abziehen Java Basics - Anfänger-Themen 4
N String kann nicht in Wochentag konvertiert werden Java Basics - Anfänger-Themen 6
R Problem beim Wochenplan (Datum,Wochentag) Java Basics - Anfänger-Themen 30
D Wochentag für eingegebenes Datum bestimmen anhand von Formel Java Basics - Anfänger-Themen 2
E Gregorian Calendar übergibt falschen Wochentag Java Basics - Anfänger-Themen 2
N falscher Wochentag GreogrianCalendar Java Basics - Anfänger-Themen 6
M Wochentag Java Basics - Anfänger-Themen 3
L Wochentag Java Basics - Anfänger-Themen 4
E Wochentag String parsen Java Basics - Anfänger-Themen 2
G Wochentag und Jahrtag werden nicht korrekt ermittelt Java Basics - Anfänger-Themen 8
J Den Wochentag eines spezifischen Datums ausgeben Java Basics - Anfänger-Themen 2
G Gibt es eine möglichkeit den Wochentag herauszufinden? Java Basics - Anfänger-Themen 28
S beliebiges Datum einlesen, Wochentag eines Datums ermitteln Java Basics - Anfänger-Themen 18
A Wochentag über SimpleDateFormat bringt wirre Ergebnisse Java Basics - Anfänger-Themen 4
P Wochentag von Date Java Basics - Anfänger-Themen 5
G Datum in Wochentag ausgeben Java Basics - Anfänger-Themen 3
G Wochentag eines Datums ermitteln Java Basics - Anfänger-Themen 20
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
laxla123 Quersumme berechnen Java Basics - Anfänger-Themen 1
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
S Vollmond berechnen und ausgeben Java Basics - Anfänger-Themen 12
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
A Berechnen Moor Nachbarschaft Java Basics - Anfänger-Themen 5
E Geburtstag im Schaltjahr berechnen Java Basics - Anfänger-Themen 24
Lion.King Schaltjahr berechnen Java Basics - Anfänger-Themen 31
E Alter (Laufzeit) berechnen Java Basics - Anfänger-Themen 11
I Zuschläge berechnen Java Basics - Anfänger-Themen 15
L mit Fakultät mathematische Formel berechnen Java Basics - Anfänger-Themen 5
TanTanIsTrying Durschnitt berechnen von eingegebener Zahl bis 1 heruntergezählt Java Basics - Anfänger-Themen 9
L Präfix berechnen Java Basics - Anfänger-Themen 33
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
Poppigescorn Quersumme Berechnen mit einer While Schleife Java Basics - Anfänger-Themen 13
I Potenz berechnen mit for-Schleife Java Basics - Anfänger-Themen 3
A Standardabweichung in Java berechnen Java Basics - Anfänger-Themen 10
H Gesamtabweichung mit Array berechnen Java Basics - Anfänger-Themen 2
G Java Rabatt berechnen Java Basics - Anfänger-Themen 8
V Rückgeld berechnen Java Basics - Anfänger-Themen 6
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
Ianatrix Zahlen von a bis b berechnen Java Basics - Anfänger-Themen 7
L Max, min, Summe und Durchschnitt berechnen Java Basics - Anfänger-Themen 4
L Anhalteweg berechnen Java Basics - Anfänger-Themen 6
Aeon Erste Schritte Preise berechnen mit do-while Java Basics - Anfänger-Themen 9
M Quadratwurzel berechnen Java Basics - Anfänger-Themen 8
V Wachstum berechnen und in Ist-Formel verwenden Java Basics - Anfänger-Themen 5
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Abschreibungsplan berechnen Java Basics - Anfänger-Themen 23
V Gehalt berechnen in Java Java Basics - Anfänger-Themen 6
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
J Array Speicherplatz berechnen Java Basics - Anfänger-Themen 35
H Eingabedaten berechnen Java Basics - Anfänger-Themen 9
B Tranportkosten berechnen mit unterschiedlichen MwSt Java Basics - Anfänger-Themen 9
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
V Erste Schritte Berechnen von Sinus; sin(x) ohne Math.* Java Basics - Anfänger-Themen 1
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
N Ein Datum berechnen Java Basics - Anfänger-Themen 3
T Sparplan berechnen Java Basics - Anfänger-Themen 4
F Abstand zum Durchschnitt von 5 Zahlen berechnen... Java Basics - Anfänger-Themen 16
B java.util.Date berechnen Java Basics - Anfänger-Themen 11
P Mittelwert Arrayelemente berechnen Fehler Java Basics - Anfänger-Themen 5
CptK Best Practice Schussparabel berechnen Java Basics - Anfänger-Themen 3
T Modulo / Pow berechnen Java Basics - Anfänger-Themen 4
E Statistische Kennzahlen berechnen Java Basics - Anfänger-Themen 2
F Switch Case Modulo berechnen Java Basics - Anfänger-Themen 12
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
C Preis berechnen mit Java Java Basics - Anfänger-Themen 4
B Zahl in String abspeichern und später berechnen Java Basics - Anfänger-Themen 15
N Best Practice Image recognition fuzzy Superhash berechnen Java Basics - Anfänger-Themen 1
Dawinartor Erste Schritte Schaltjahr berechnen Java Basics - Anfänger-Themen 1
L Pi berechnen Java Basics - Anfänger-Themen 1
CptK Term (als String) berechnen und ausgeben Java Basics - Anfänger-Themen 10
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
J Variablen arithmetischen Mittelwert berechnen Java Basics - Anfänger-Themen 5
K Matrixen berechnen nach Worker Master Paradigma mit Threads Java Basics - Anfänger-Themen 4
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
I Schnittpunkt zweier Geraden berechnen Java Basics - Anfänger-Themen 25
M Erste Schritte Mittelwert berechnen -> Methode in der Methode? Java Basics - Anfänger-Themen 14
S Compiler-Fehler Schaltjahr berechnen Java Basics - Anfänger-Themen 5
B Fakultätsfunktion Rekursiv Berechnen aber mit Array Java Basics - Anfänger-Themen 10
S Durchschnitt berechnen aus zwei Textfeldern Java Basics - Anfänger-Themen 21
D Summe berechnen mit verändertem Wert aus Schleife Java Basics - Anfänger-Themen 1
R Liga Berechnen Java Basics - Anfänger-Themen 1
P Klassen Berechnen mehrerer Map-Werte Java Basics - Anfänger-Themen 13
R Fussballtabellen berechnen Java Basics - Anfänger-Themen 12
J Fibonacci -Folge rekursiv berechnen Java Basics - Anfänger-Themen 18
J Durchschnitt jeder Zeile und und Spalte in einem 2D Arrays berechnen Java Basics - Anfänger-Themen 6
F ISBN Prüfziffer berechnen Java Basics - Anfänger-Themen 17
F Die Teilersumme einer Eingabe berechnen Java Basics - Anfänger-Themen 11
S Negafibonacci Folge berechnen Java Basics - Anfänger-Themen 24
G Array Mittelwert berechnen, wie? Java Basics - Anfänger-Themen 8
S Primzahlen berechnen funktioniert nicht richtig Java Basics - Anfänger-Themen 1
N Mit LocalDate alter berechnen Java Basics - Anfänger-Themen 3
J Laufzeit berechnen/Laufzeitanalyse Java Basics - Anfänger-Themen 2
N Arrays mit Zufallzahlen füllen und Statistiken berechnen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben