Original von Kermit
Original von chris01
da hr.nitsche schneller war, ist gut.
im zweifelsfall, kann auch ich mal drüberschaun.
wirtschaft und programmieren ... *LOOOL* welcher idiot hat den lehrplan entworfen![]()
Ich werde den Spaß hier mal einstellen... zur allgemeinen Belustigung
Aufgabe:
Schreiben Sie ein JAVA-Programm mit Testplan, das Folgendes tut:
Prüfen zweier eingelesener Kalenderdaten auf Gültigkeit. Die Eingabe erfolgt über ein DOSFenster in der Komandozeile. Über diese ist ebenfalls anzustoßen und als Ergebnis auszugeben:
1. Anzahl der Tage ab 1. Januar des jeweiligen Datums
2. Differenz der Kalenderdaten in Tagen
3. Anzahl der Werktage ab einem eingegebenen Datum bis zum Tagesdatum
Mögliche Daten: 1901 bis 2100, alle anderen gelten als ungültig.
Der 1.1.1901 war ein Dienstag (falls Sie das brauchen).
Bedingungen
● Es muss mindestens zwei Klassen mit entsprechenden Methoden geben:
1. Alle Operationen zu einem Datum mit den nötigen variablen Daten
und Konstanten.
2. Die Operationen zu mehr als einem Datum und der main-Methode.
● Die Systemklasse GregorianCalender darf nur benutzt werden, um das Tagesdatum festzustellen. Alle anderen Berechnungen zu Kalenderdaten sind selbst zu entwerfen und zu testen.
Quellcode by Martin Teil 1 & 2:
import java.io.*;
import java.text.*;
import java.util.*;
class Datum {
public static int differenz;
public static int tage[] = new int[2];
public static int tagesdatum[] = new int[3];
public static int datum[][] = new int[2][3];
public static int month[][] = new int[2][12];
void einlesenDatum() throws IOException {
int i;
int z=0;
do {
month[z][0]=31; month[z][1]=28; month[z][2]=31; month[z][3]=30; month[z][4]=31; month[z][5]=30;
month[z][6]=31; month[z][7]=31; month[z][8]=30; month[z][9]=31; month[z][10]=30; month[z][11]=31;
int l = z+1;
BufferedReader dt =
new BufferedReader ( new InputStreamReader (System.in) );
do {
System.out.println("\nBitte das Jahr des "+l+". Datums zwischen 1901 und 2100 eingeben:";
datum[z][2] = Integer.parseInt (dt.readLine());
} while (datum[z][2] <1901 || datum[z][2] >2100);
if (datum[z][2]%400 == 0){
month[z][1]=29;
} else if (datum[z][2]%4 == 0 && datum[z][2]%100 != 0) {
month[z][1]=29;}
do {
System.out.println("\nBitte den Monat des "+l+". Datums zwischen 1 und 12 eingeben:";
datum[z][1] = Integer.parseInt (dt.readLine());
datum[z][1]--;
} while (datum[z][1] <0 || datum[z][1] >11);
do {
i = datum[z][1];
System.out.println("\nBitte den Tag des "+l+".Datums eingeben:";
System.out.println("bei ungueltiger Eingabe bitte erneut versuchen)"
;
datum[z][0] = Integer.parseInt (dt.readLine());
} while (datum[z][0]<1|| datum[z][0]>month[z]);
System.out.print("Das "+l+". Datum lautet: "+datum[z][0]+".";
System.out.println(datum[z][1]+1+"."+datum[z][2]);
z=z+1;
} while (z<2);
}
void tagesdatum() throws IOException {
GregorianCalendar kal = new GregorianCalendar();
tagesdatum[0] = kal.get(GregorianCalendar.DATE);
tagesdatum[1] = kal.get(GregorianCalendar.MONTH)+1;
tagesdatum[2] = kal.get(GregorianCalendar.YEAR);
}
void tageberechnen() throws IOException {
int z=0;
for (int p=2;z<p; z++){
for (int i=0; i<datum[z][1]; i++)
{ tage[z] += month[z]; }
tage[z] += datum[z][0];
int l=z+1;
System.out.println("\nDie Zeitspanne "+l+". Datum vom 1.1."+datum[z][2]+" bis zum "+datum[z][0]+"."
+(datum[z][1]+1)+"."+datum[z][2]+" betraegt: "+tage[z]+" Tage";
}
}
}
public class Aufgabe extends Datum {
void differenzdaten() throws IOException {
int i=0,z=0,t=0;
if (datum[0][2]<datum[1][2]){
i=datum[0][2];
t=-tage[0]+tage[1];}
else { i=datum[1][2];
t=tage[0]-tage[1]; }
for (int p=datum[0][2]+datum[1][2]-i; i<p; i++){
if (i%400==0){
z=366;
} else if (i%4==0&&i%100!=0){
z=366;
} else {
z=365;
}
differenz=differenz+z;
}
differenz=differenz+t;
System.out.println("\nDie Differenz zuwischen den beiden eingegebenen Daten betraegt "+differenz+" Tage";
}
public static void main(String[] args) throws IOException {
Datum a = new Datum();
a.einlesenDatum();
a.tagesdatum();
a.tageberechnen();
Aufgabe b = new Aufgabe();
b.differenzdaten();
}}![]()
![]()
![]()
![]()
![]()
Ergebnis 1 bis 20 von 27
Thema: Java Programmierer hier?
Baum-Darstellung
-
12.12.2007, 20:33 #10preppykingGast
Ähnliche Themen
-
Editor - Java
Von weyli im Forum Off TopicAntworten: 5Letzter Beitrag: 06.05.2010, 11:34 -
Hats hier Programmierer?
Von Donluigi im Forum Off TopicAntworten: 0Letzter Beitrag: 11.08.2009, 22:24 -
Java
Von Okatu im Forum Off TopicAntworten: 3Letzter Beitrag: 22.09.2005, 15:14
Lesezeichen