Erste Schritte Tage zwischen 2 Daten berechnen

screlingo

Neues Mitglied
Hallo,
Ich bin nun schon seit 2 Stunden dabei ein Programm zu entwickeln und komme auf keinen Ansatz.
Ich soll für meinen Informatikunterricht ein Programm zur Berechnung zweier Daten erstellen und bis Dienstag abgeschickt haben.
Ich habe mir auf einem Blatt schon einen Mathematischen lösungsweg gefunden, jedoch habe ich keine Idee wie ich die sen in Programmcode umsetzten kann:

Zur berechnung der Jahre:

bisJahr-vonJahr-1

zur berechnung der Tage habe ich mir eine Datenbak angelegt, wieviele Tage nach dem x-ten Monat bereits vergangen sind:

Jan=0+ den Tag des monats
Feb=31 +Tag
März=59 +Tag
Aprill=90 +Tag
Mai=120+Tag
usw.

als nächstes die differenz zwischen 365 und den Angefangenen Tagens des vonJahr ausrechen und diese dann zu den Jahren addieren. Als Letztes noch die Tage des Bisjahres Addieren und fertig.

Schaltjahre sind noch nicht mit inbegriffen.

Nun versuchte ich dies in einen Programmtext umzuwandeln, jedoch bin ich schon beim Versuch die Jahre auszurechnen gescheitert.

Bitte um Hilfe.

Auch und hier ist mein "Ansatz"

public class tagezwischendaten
{
void jahre
(int vonjahr ,int bisjahr ,int jahresdifferenz)
{
int x = 365;
jahresdifferenz = bisJahr * x - vonJahr * x - x

}
}
was ist daran falsch?
 

turtle

Top Contributor
Ich schlage vor viele jUnit-Tests zu schreiben, um deinen Code zu prüfen.
Weiterhin ist Java case-sensitiv, also musst du darauf achten, das bisjahr und bisJahr zwei VERSCHIEDENE Variable sind.

MEIn Test war
Java:
	@Test
	public void jahre() {
		int x = 365;
		int vonjahr = 1970;
		int bisjahr = 1971;
		int jahresdifferenz = (bisjahr - vonjahr) * x;
		assertEquals(365, jahresdifferenz);
	}
 

turtle

Top Contributor
Ich stimme gescom zu, aber fürs Rechnen mit Datumswerten nehme ich immer joda-time, zumal im neuen JDK eine API drin ist, die sehr nahe an joda-time ist.

Und damit geht de ganze Rechnung (mit Schaltjahren) extrem einfach.

Java:
	@Test
	public void tageZwischenDatum() {
		DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.yyyy");
		DateTime d1 = DateTime.parse("17.03.1971", formatter);
		DateTime d2 = DateTime.parse("17.03.1975", formatter); // 1972 ist Schaltjahr
		int daysBetween = Days.daysBetween(d1, d2).getDays();
		assertEquals(1461, daysBetween);
	}
 
Zuletzt bearbeitet:

screlingo

Neues Mitglied
Super danke für die Antworten.
Ich habe nun einmal den Test von Turtle eingegeben, jedoch scheitert mein Compiler, "Blue J" bereits bei void. ???:L

außer dem habe ich erst die Anweisungen: case, if, while und switch kennengelernt.

diese sollen wir mit dem Programmieren des Algorithmusses verinnerlichen und lernen, nur schaffen dies alle Schüler bis auf 2 nicht :(
 
Zuletzt bearbeitet:

gescom

Mitglied
Benutzt Java tags wenn du hier code reinschreibst.
Dein Ansatz ist an einigen stellen Falsch und du solltest versuchen die Fehler zu korrigieren die dir bereits genannt wurden.
Falls du die vorgeschlagenen Klassen nicht nutzen darfst oder willst... zunächst Schreibst du eine Methode die zwei Jahreszahlen bekommt. Diese werden in Tage umgerechnet.(Da du ja später auch exakte Daten vergleichen willst). So was wie
Java:
Math.abs(jahr1-jahr2)*365
. Jetzt kommt es natürlich drauf an wie genau du Arbeiten willst!!! Aber eine Möglichkeit wäre z.B. zu Fragen ob mehr als 4 Jahre dazwischen liegen und einen Tag zu addieren. Das gibst du als Integer zurück. Jetzt hast du eine Methode die die Differenz zwischen zwei Jahreszahlen in Tagen zurückgibt.
Im nächsten Schritt erweiterst du deine Methode noch mit Monaten und Tagen.
Sauber wäre natürlich das ganze in Klassen und eigenständigen Methoden auszulagern!
 

Phoenixz

Mitglied
Java:
public class tagezwischendaten
{
 void jahre
 (int vonjahr ,int bisjahr ,int jahresdifferenz)
   {
      int x = 365;
      jahresdifferenz = bisJahr * x - vonJahr * x - x
      
   }
}
was ist daran falsch?


Java:
public class TageZwischenDaten {
	public void jahre (int vonJahr ,int bisJahr ,int jahresDifferenz)	{
		
	int x = 365;
//	; fehlt am ende der Zeile, bisJahr anstatt bisjahr analog vonjahr
	jahresDifferenz = bisJahr * x - vonJahr * x - x;

	}
}
Ob dein Algorithmus funktioniert weiß ich jetzt nicht, aber du solltest erstmal genauer auf die Syntax achten!
Weiterhin verstehe ich nicht, was du mit deiner Formel willst. Du willst bisJahr - vonJahr -1. Warum multipkizierst du dann die 365 darauf? Das ist nur unnötig. Ich kann doch bei dieser Formel die 365 ausklammern und bisJahr-vonJahr-1 steht da.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Methoden Tage zwischen 2 Daten Java Basics - Anfänger-Themen 19
H Datentypen Tage zwischen zwei Datums berechnen Java Basics - Anfänger-Themen 4
S Stunden/Tage Countdown Java Basics - Anfänger-Themen 9
sserio Gregorianischer Kalender und dessen Tage. Java Basics - Anfänger-Themen 14
B Programm, dass alle 3 Tage eine Webseite öffnet? Java Basics - Anfänger-Themen 20
M Rekursion Tage Ansteckung gesamte Bevölkerung Java Basics - Anfänger-Themen 15
B Anzahl von Stunden / Tage von zwei Datumswerten ermitteln Java Basics - Anfänger-Themen 1
M Wochentag ermittel und ggf tage abziehen Java Basics - Anfänger-Themen 4
Bluedaishi Einen Betrag X auf X Tage verteilen Java Basics - Anfänger-Themen 14
T Jahre, Monate, Tage, Stunden, Minuten Java Basics - Anfänger-Themen 1
P Wieviele Tage seit dem Datum vergangen sind Java Basics - Anfänger-Themen 5
F Für Abgabe vor Feiertagen 3 Tage für Abholung hinzuaddieren Java Basics - Anfänger-Themen 19
S Ein Jahr hat 363,7 Tage ? Java Basics - Anfänger-Themen 2
P System - Tage erkennen ( System Time ?) Java Basics - Anfänger-Themen 3
G maximale Anzahl der Tage im Monat Java Basics - Anfänger-Themen 18
R Tage subtrahieren von einem Date() Java Basics - Anfänger-Themen 6
A GregorianCalendar heute + X Tage Java Basics - Anfänger-Themen 11
S Tage aus zwei Datumsangaben berechnen Java Basics - Anfänger-Themen 3
T Tage Zahlen zuordnen Java Basics - Anfänger-Themen 24
T tage in monate und jahre Java Basics - Anfänger-Themen 9
H Dates "Tage" auf gleichheit prüfen? Java Basics - Anfänger-Themen 4
H Anzahl der Tage von Monat ausgeben Java Basics - Anfänger-Themen 7
N Tage in Jahre, Monate umrechnen Java Basics - Anfänger-Themen 1
B Errechnen(Jahre Monate Tage)von einem Datum zu einem anderen Java Basics - Anfänger-Themen 3
A Verständnisfrage Sekunden/Tage Umrechnung Java Basics - Anfänger-Themen 3
I Tage ermitteln Java Basics - Anfänger-Themen 4
G Altersberechnung falsch auf 1-2 Tage Java Basics - Anfänger-Themen 3
DStrohma Millisekunden umwandeln in Jahre, Monate, Tage, Stunden Java Basics - Anfänger-Themen 5
G Differenz in Tage Java Basics - Anfänger-Themen 3
T Bestimmte Tage ausschließen Java Basics - Anfänger-Themen 6
T Datum+ 100 Tage Java Basics - Anfänger-Themen 23
M wieviele Tage der Monat X hat Java Basics - Anfänger-Themen 2
S zu einem Datum Tage addieren Java Basics - Anfänger-Themen 2
W Tage im Monat Java Basics - Anfänger-Themen 3
S Calendar.set Time, Ermittlung der Anzahl Tage fehlerhaft Java Basics - Anfänger-Themen 9
X 14-Tage Testversion erstellen? Java Basics - Anfänger-Themen 15
U tage ausrechnen Java Basics - Anfänger-Themen 4
G HILFE!!! JEDER MONAT HAT 31 TAGE Java Basics - Anfänger-Themen 2
J Datum, Tage herausfinden Java Basics - Anfänger-Themen 2
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 9
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
S Unterschied zwischen Denkweisen Java Basics - Anfänger-Themen 13
O Klassen Zusammenspiel zwischen 2 Klassen Java Basics - Anfänger-Themen 1
Ras Unterschied zwischen parser xml and api xml Java Basics - Anfänger-Themen 7
X Was ist der Unterschied zwischen materialisierten und nichtmaterialisierten Attributen einer Klasse? Java Basics - Anfänger-Themen 1
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
S Längster Pfad zwischen zwei Vertices in einem Graph Java Basics - Anfänger-Themen 3
U Erste Schritte nextGaussian zwischen zwei Werten Java Basics - Anfänger-Themen 19
jhCDtGVjcZGcfzug Was ist der Unterschied zwischen diesen Quellcodes? Java Basics - Anfänger-Themen 3
rafi072001 Assoziation zwischen Musiker und Label Java Basics - Anfänger-Themen 1
I Best Practice Saubere Verbindung zwischen API und Business Layer mit DTO's Java Basics - Anfänger-Themen 2
A Parametar übergabe zwischen Methoden Java Basics - Anfänger-Themen 26
W User zwischen Optionen wählen lassen Java Basics - Anfänger-Themen 1
I Differenz zwischen LocalDateTime Java Basics - Anfänger-Themen 4
Leo_1789 Differenz ausrechnen zwischen denn idealgewicht und denn echten Gewicht Java Basics - Anfänger-Themen 7
E Wie gebe ich alle Daten zwischen zwei Zeitpunkten aus? Java Basics - Anfänger-Themen 2
P Methode die ausgibt wie viele Primzahlen es zwischen 2 und n gibt Java Basics - Anfänger-Themen 10
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 3
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
NeoLexx Zuweisungskompatibilität zwischen Vererbungsbeziehungen (Polymorphie) Java Basics - Anfänger-Themen 18
L Threads Synchronisierung zwischen threads Java Basics - Anfänger-Themen 4
N Berührung zwischen Rechtecken Java Basics - Anfänger-Themen 5
Y Unterschied zwischen WindowBuilder und herkömmlichen erstellen des GUI´s? Java Basics - Anfänger-Themen 9
J Wert zwischen JFrames übergeben Java Basics - Anfänger-Themen 2
U Worin besteht der Unterschied zwischen call by reference und call by value? Java Basics - Anfänger-Themen 14
E Unterschied zwischen new und import Java Basics - Anfänger-Themen 5
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
A Kommunikation zwischen nebenläufigen Threads Java Basics - Anfänger-Themen 4
B Unterschied zwischen (List<T> a) und (T[] a) Java Basics - Anfänger-Themen 7
Dilara_K Abstand zwischen den Doppelwerten in einem Array herausfinden Java Basics - Anfänger-Themen 20
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
D Zufallszahl zwischen 10 und 99? Java Basics - Anfänger-Themen 5
J Objektzugriff zwischen disjunkten Klassen Java Basics - Anfänger-Themen 1
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
A Methoden Unterscheid zwischen public und ohne Java Basics - Anfänger-Themen 9
X Input/Output Höchste Temperaturschwankung zwischen 2 Tagen Java Basics - Anfänger-Themen 2
Bluedaishi der Monat zwischen zwei Datumsangaben Java Basics - Anfänger-Themen 15
R Threads Pause zwischen zwei Schleifen Java Basics - Anfänger-Themen 1
Aprendiendo Unterschied zwischen Referenzvariable und Instanzvariable. Java Basics - Anfänger-Themen 2
N Unterschied zwischen Checked und Unchecked Exceptions Java Basics - Anfänger-Themen 12
S Parameterübergabe zwischen zwei Programme Java Basics - Anfänger-Themen 4
S Erste Schritte Zwischen zwei Punkten ein Minimumpkt./Maxima finden Java Basics - Anfänger-Themen 1
K Klassen Array zwischen Klassen übergeben Java Basics - Anfänger-Themen 2
Arif OOP Die Bindung zwischen einem äußeren und einem inneren Objekt Java Basics - Anfänger-Themen 2
schoenosrockos Unterschied zwischen Objekten und vererbungen Java Basics - Anfänger-Themen 1
S OOP Variablen zwischen mehreren Klassen Java Basics - Anfänger-Themen 11
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
F Klassen Kommunikation zwischen Klassen Java Basics - Anfänger-Themen 4
J Variablen Unterschied zwischen lokalen-, Instanz-, Klassenvariablen Java Basics - Anfänger-Themen 6
N Dauer zwischen zwei LocalDateTime Objekten berechnen? Java Basics - Anfänger-Themen 4
P Ungerade Zahlen ausgeben lassen zwischen Spannweite zweier eingegeben zahlen Java Basics - Anfänger-Themen 6
V Zufallswert zwischen zwei Zahlen a und b Java Basics - Anfänger-Themen 12
M Variable zwischen Klassen übergeben Java Basics - Anfänger-Themen 5
A attach source: Zusammenhang zwischen JAR und .class/.java Dateien? Java Basics - Anfänger-Themen 2
L Unterschied zwischen Klassen - und Instanzvarbiablen Java Basics - Anfänger-Themen 1
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6
F Referenzen zwischen Methoden Java Basics - Anfänger-Themen 5
B Distanz zwischen zwei Punkten Java Basics - Anfänger-Themen 4
D Suche nach der Anzahl von Zonen zwischen zwei Punkten Java Basics - Anfänger-Themen 2
G Zugriff zwischen Klassen Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben