Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Datum programmieren

Datum programmieren

Universität / Fachhochschule

Sonstiges

Tags: Datum, programmiren, Sonstiges

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
StudentAI

StudentAI aktiv_icon

08:40 Uhr, 23.11.2012

Antworten
Hallo Community,
ich hätte da mal eine Frage zum programmiren eines Datums in Java.
Hier der Code:

public void tagImJahr()
{
schaltjahrFuerMethode();
Int tagnr;
if(monat <3)
{
tagnr = tag +(31 monat) -31;<--
}
else
{
if(schaltjahr == true)
{
tagnr = tag +(153 monat -162):5+1;<--
}
else
{
tagnr = tag +(153 monat -162):5;<---
}
}
System.out.println(tagnr);



Kann mir jemand die Formeln mit dem Pfeil erklären? Der Programmierteil ist mir klar nur ich verstehe nicht den mathematischen Hintergrund der Formeln.

Danke im vorraus!

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich bräuchte bitte einen kompletten Lösungsweg." (setzt voraus, dass der Fragesteller alle seine Lösungsversuche zur Frage hinzufügt und sich aktiv an der Problemlösung beteiligt.)
Online-Nachhilfe in Mathematik
Antwort
McMannus

McMannus aktiv_icon

09:33 Uhr, 23.11.2012

Antworten
Wenn es nicht auf Performance ankommt, würde ich das straight-forward so implementieren! Die Mathematik dahinter kann ich mir auch nicht erklären.

tage_seit_jahresanfang(int tag, monat, jahr){

tage_pro_monat[] ={31,28,31,30,31,30,31,31,30,31,30,31};

ret =0;

/ Volle Monate
for (i=1;i< monat; i++){
ret += tage_pro_monat[i -1];
}

/ Tag des aktuellen Monats
ret += tag;

/ Schaltjahr
ret += (ist_schaltjahr(jahr) == true && monat >2? 1:0);

return ret;
}

bool ist_schaltjahr(int jahr){

bool schaltjahr = false;

if (jahr %4==0) schaltjahr = true;
if (jahr %100==0) schaltjahr = false;
if (jahr %400==0) schaltjahr = true;

return schaltjahr;
}
StudentAI

StudentAI aktiv_icon

11:09 Uhr, 23.11.2012

Antworten
Danke für die Antwort, aber die bringt mich nicht weiter
Ich möchte nur die mathematische Erklärung
Antwort
pleindespoir

pleindespoir aktiv_icon

12:43 Uhr, 23.11.2012

Antworten
Grundrechenarten und Fallunterscheidung ... anspruchsvoll !
Antwort
McMannus

McMannus aktiv_icon

12:56 Uhr, 23.11.2012

Antworten
Was er meint, ist, wieso die Formel korrekt ist!
Antwort
Capricorn-01

Capricorn-01 aktiv_icon

13:44 Uhr, 23.11.2012

Antworten
Hier ist noch eine Excel-Tabelle, die aufzeigt, was bei Ganzzahl((n*(5*30+3)-162)/5) geschieht:

Monate2
Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.