Wieder Hilfe! Switch und Schleife

Nach meinem letzten Posting muss ich heute leider schon wieder die
Hilfe der Gemeinschaft suchen:

Ich versuche seit 5 Tagen folgende Aufgabenstellung zu lösen. Der Quelltext, welcher ergänzt werden soll, hängt in der Originalversion unten an. Ich habe versucht, durch die Eingabe der Zahlen durch 2 while-Schleifen zu realisieren. Aber ich komme mit der gesamten Aufgabe nicht klar…Ich weiß,dass ich von niemanden erwarten kann, meine Aufgabe zu lösen…trotzdem wäre ich für Hilfe sehr, sehr dankbar:

In diesem Projekt sind bereits einige Methoden gegeben, die Sie benutzen können. Die Methode void main() soll an den Stellen, an denen Kommentare stehen, um eine entsprechende Funktionalität ergänzt werden. Dabei werden Eingabedaten auf ihre Richtigkeit überprüft und im Falle einer Fehleingabe eine entsprechende Meldung generiert und die Eingabedaten erneut gelesen. Die eingegebenen Mietdaten werden darauf überprüft, ob der Endtag tatsächlich zeitlich hinter dem Anfangstag liegt.
Benutzen Sie zur Berechnung der Anzahl der Tage im Monat die switch-Anweisung. Dabei kann die selbe Anweisung bei verschiedenen Konstanten (hinter dem case) ausgeführt werden. Abgeschlossen werden die Anweisungen für jede Markierung mit dem Kommando break.
Beispiel:

switch (a){
case 1: case 2: b=3; c=4; break; case 3: b=1;}
Es werden nur Abrechnungszeiträume innerhalb eines Jahres berücksichtigt. Der Februar habe 28 Tage. Der Start- und Endtag zählt immer mit (falls identisch, nur einmal), d. h., vom 01.03. bis zum 03.03. sind es beispielsweise drei Tage.
Hinweis: Beachten Sie die unterschiedliche Anzahl von Tagen für die verschiedenen Monate!

Quelletext:
import java.*;

class account
{

// * an den markierten Stellen die entsprechenden Javacode-Teile

public static void main()
{
int day1, month1, day2, month2, price=0;
int highestDay1 = 0, highestDay2 = 0;
int veh_type, veh_price, diff;
boolean correct;

// Eingabe des ersten Datums
day1 = readInt("The day of date 1: ");
//month1 …

// Eingabe des zweiten Datums

// Überprüfe, ob es sich um korrekte Daten handelt. Wenn nicht, lese sie solange ein,
// bis sie korrekt sind

// überprüfe, ob date1

Hallo,

Womit hast du denn genau Probleme bei der Aufgabe?

mfg
deconstruct

Also, das hier hbae ich bisher hinbekommen! Aber ich weiß nichtmals, ob es überhaupt richtig ist!Was ich überhaupt nicht hinbekomme, ist
// Berechne die Differenz zwischen den Tagen

// Berechne den Mietpreis

// Das Ergebnis soll in der Variablen „price“ stehen. Quelltext von mir bisher:

import java.*;

class account
{

/**
* Bitte ergänzen Sie
* an den markierten Stellen die entsprechenden Javacode-Teile
*/

public static void main()
{
int day1, month1, day2, month2, price=0;
int highestDay1 = 0, highestDay2 = 0;
int veh_type, veh_price, diff;
boolean correct;

// Eingabe des ersten Datums
day1 = readInt("The day of date 1: ");
month1 = readInt("The month of date 1: ");
day2 = readInt(„The day of date 2:“);
month2 = readInt(„The month of date 1“);

while (day1>day2)
{
System.out.println („The day was not correct!“);
day1 = readInt("The day of date 1: ");
month1 = readInt("The month of date 1: ");
day2 = readInt(„The day of date 2:“);
month2 = readInt(„The month of date 1“);break;
}
while (month1>month2)
{
System.out.println („The month was not correct!“);
day1 = readInt("The day of date 1: ");
month1 = readInt("The month of date 1: ");
day2 = readInt(„The day of date 2:“);
month2 = readInt(„The month of date 1“);break;
}
System.out.println („This was correct!“);

if (day1>day2 || month1>month2)
{
error(String err);

}
// überprüfe, ob date1 [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

am besten wärs, wenn du erstmal aus den Angaben für Tag, Monat, Jahr ein Datums-Objekt erstellst.
java.util.Date oder java.util.Calender bieten sich dort an.
Mit denen kannst du nämich ganz normal rechnen. Also damit kannst du z.B. Vergleich, welches Datum größer ist. Du kannst zwei Daten voneinander abziehen, um die Differenz zu erhalten usw.

mfg
deconstruct