Hallo hab ein Kalender mit verschiedenen Funktionen erstellt......bin ja eigenlich sehr zufrieden aber doch nicht 100 prozentig.Sollen im Kalender eine Berechnung des Wochentags und der Kalenderwoche haben.
Meine Frage nun,wie ich meine Kalenderberechnung mit der Klasse Terminbearbeitung,Terminplanung und der Ausgabe verknüpfen kann sozusagen als Methode....habe schon rumprobiert bin aber auf keinen grünen Zweig gekommen.
also ich will sozusagen jetz in der methode kalenderberechnung keine werte angeben müssen sondern die,die ich in der terminplanung schon eingebe und im array gespeichert werden.
Meine Frage nun,wie ich meine Kalenderberechnung mit der Klasse Terminbearbeitung,Terminplanung und der Ausgabe verknüpfen kann sozusagen als Methode....habe schon rumprobiert bin aber auf keinen grünen Zweig gekommen.
Java:
package b;
public class Termin {
private String terminName="";
private int tag,monat,jahr,stunde,minute=0;
// leerer Konstruktor
public Termin(){
}
public Termin(String a, int b, int c, int d, int h, int m){
terminName=a;
tag=b;
monat=c;
jahr=d;
stunde=h;
minute=m;
}
public void setTerminName(String a){
terminName = a;
}
public String getTerminName(){
return terminName;
}
public void setTag(int b){
tag = b;
}
public int getTag(){
return tag;
}
public void setMonat(int c){
monat = c;
}
public int getMonat(){
return monat;
}
public void setJahr(int d){
jahr = d;
}
public int getJahr(){
return jahr;
}
public void setStunde(int h){
stunde = h;
}
public int getStunde(){
return stunde;
}
public void setMinute(int m){
minute = m;
}
public int getMinute(){
return minute;
}
public String toString() {
String s = null;
s = "\nTerminname: "+terminName +"\nDatum: " +tag + "." + monat+ "." + jahr + "\nUhrzeit: " + stunde + ":" + minute +" Uhr \n";
return s;
}
}
Java:
package b;
//import java.util.Arrays;
public class Ausgabe {
public void terminAusgabe(Termin terminArray[]) {
//for (int i=0; i < terminArray.length; i++) {
if (terminArray[0]!=null){
System.out.println("\n1.Termin: "+terminArray[0]+" ");
}
else {
System.out.println("Terminplatz ist nicht belegt");
}
if (terminArray[1]!=null){
System.out.println("2.Termin: "+terminArray[1]+" ");
}
else {
System.out.println("Terminplatz ist nicht belegt");
}
if (terminArray[2]!=null){
System.out.println("\n3.Termin: "+terminArray[2]+" ");
}
else {
System.out.println("Terminplatz ist nicht belegt");
}
if (terminArray[3]!=null){
System.out.println("\n4.Termin: "+terminArray[3]+" ");
}
else {
System.out.println("Terminplatz ist nicht belegt");
}
if (terminArray[4]!=null){
System.out.println("\n5.Termin: "+terminArray[4]+" ");
}
else {
System.out.println("Terminplatz ist nicht belegt");
}
}
// System.out.println("");
}
Java:
package b;
import java.util.Scanner;
public class TerminMain {
public static void main(String[] args) {
Termin array[] = new Termin[5];
// Schleife
boolean finish = false;
while (!finish) {
// Bildschirmmenue
System.out.println("\n1 = Neuen Termin eintragen");
System.out.println("2 = Terminebearbeitung");
System.out.println("3 = Termine ausgeben");
System.out.println("4 = Kalenderberechnung");
System.out.println("5 = Programm beenden\n");
Scanner Auswahl = new Scanner(System.in);
String s = null;
s = Auswahl.next();
// Fallunterscheidung
if (s.equals("1")) {
TerminPlanung a = new TerminPlanung();
a.terminEinfuegen(array);
}
// Terminbearbeitung
else if (s.equals("2")) {
Terminbearbeitung b = new Terminbearbeitung();
b.terminBearbeiten(array);
}
//Terminausgabe
else if (s.equals("3")) {
Ausgabe c = new Ausgabe ();
c.terminAusgabe(array);
}
else if (s.equals("4")){
Kalenderberechnung d = new Kalenderberechnung();
d.kalenderBerechnung(array);
}
else {
finish=true;
System.out.println("Ihre Eingabe war fehlerhaft,starten sie das Programm neu sie hurensohn");
}
}
}
}
Java:
package b;
import java.util.Scanner;
public class TerminPlanung {
public void terminEinfuegen(Termin terminArray[]) {
Termin a = new Termin();
String eingabe = null;
int day=0;
int month=0;
int year=0;
int hour=0;
int minute=0;
System.out.println("Geben sie eine Terminnummer zwischen 1-5 ein: ");
Scanner abc = new Scanner(System.in);
int t = abc.nextInt();
if (terminArray[t - 1] != null)
{
System.out.println("Der Terminplatz ist belegt");
}
else {
Scanner aa = new Scanner(System.in);
System.out.println("Geben Sie ihren Terminname ein:");
eingabe = aa.nextLine();
a.setTerminName(eingabe);
terminArray[t - 1] = a;
a.getTerminName();
Scanner bb = new Scanner(System.in);
System.out.println("Geben Sie einen Tag ein: ");
day = bb.nextInt();
a.setTag(day);
terminArray[t - 1]=a;
a.getTag();
Scanner cc = new Scanner(System.in);
System.out.println("Geben Sie einen Monat ein: ");
month = cc.nextInt();
a.setMonat(month);
terminArray[t -1]=a;
a.getMonat();
Scanner dd = new Scanner(System.in);
System.out.println("Geben Sie ein Jahr ein: ");
year = dd.nextInt();
a.setJahr(year);
terminArray[t -1]=a;
a.getJahr();
Scanner hh = new Scanner(System.in);
System.out.println("Geben Sie die Stunde digital ein: ");
hour = hh.nextInt();
a.setStunde(hour);
terminArray[t -1]=a;
a.getStunde();
Scanner mm = new Scanner(System.in);
System.out.println("Geben Sie die Minuten ein: ");
minute = mm.nextInt();
a.setMinute(minute);
terminArray[t -1]=a;
a.getMinute();
System.out.println("\nIhr Terminname: "+eingabe);
System.out.println("Datum: "+day+"."+month+"."+year);
System.out.println("Ihre Uhrzeit: "+hour+"."+minute);
}
}
}
Java:
package b;
import java.util.Scanner;
public class Terminbearbeitung {
public void terminBearbeiten(Termin terminArray[]) {
System.out.println("Geben Sie ihre zu bearbeitende Terminnummer ein: ");
Scanner aaa = new Scanner(System.in);
int z = aaa.nextInt();
Termin verändern = terminArray[z - 1];
System.out.println("Ihr neuer Terminname: ");
Scanner b = new Scanner(System.in);
String eingabe = b.nextLine();
verändern.setTerminName(eingabe);
System.out.println("Ihr neuer Tag: ");
Scanner c = new Scanner(System.in);
int day = c.nextInt();
verändern.setTag(day);
System.out.println("Ihr neuer Monat: ");
Scanner d = new Scanner(System.in);
int month = d.nextInt();
verändern.setMonat(month);
System.out.println("Ihr neues Jahr: ");
Scanner e = new Scanner(System.in);
int year = e.nextInt();
verändern.setJahr(year);
System.out.println("Ihre neue Stunde: ");
Scanner f = new Scanner(System.in);
int hour = f.nextInt();
verändern.setStunde(hour);
System.out.println("Ihr neue Minute: ");
Scanner g = new Scanner(System.in);
int minute = g.nextInt();
verändern.setMinute(minute);
terminArray[z - 1] = verändern;
String ergebnis = terminArray[z - 1].getTerminName();
terminArray[z - 1] = verändern;
int ergebnis1 = terminArray[z - 1].getTag();
terminArray[z - 1] = verändern;
int ergebnis2 = terminArray[z - 1].getMonat();
terminArray[z - 1] = verändern;
int ergebnis3 = terminArray[z - 1].getJahr();
terminArray[z - 1] = verändern;
int ergebnis4 = terminArray[z - 1].getStunde();
terminArray[z - 1] = verändern;
int ergebnis5 = terminArray[z - 1].getMinute();
System.out.println("\nIhr neuer Terminname: "+ergebnis);
System.out.println("Ihr neues Datum: "+ergebnis1+"."+ergebnis2+"."+ergebnis3);
System.out.println("Ihre neue Uhrzeit: "+ergebnis4+":"+ergebnis5);
}
}
Java:
package b;
import java.util.Scanner;
public class Kalenderberechnung {
public void kalenderBerechnung(Termin terminArray[]) {
//1548 Anfang des Gregorianischen Kalenders
int jahr = 1584;
// Tastatureingabe
Scanner sc = new Scanner(System.in);
System.out.println("Geben Sie das gesuchte Jahr ein:");
int gesuchtesJahr = sc.nextInt();
System.out.println("Geben Sie den gesuchten Monat als Zahl ein:");
int gesuchterMonat = sc.nextInt();
System.out.println("Geben Sie den gesuchten Tag ein:");
int gesuchterTag = sc.nextInt();
int vergangeneTage = 0;
//Schaltjahr deklariert
boolean schaltjahr = false;
while (jahr <= gesuchtesJahr) {
// Errechnug eines Schaltjahre oder eines Nichtschaltjahrs
if((jahr%4==0 && jahr%100!=0) || (jahr%400==0)){
schaltjahr = true;
}
else {
schaltjahr=false;
}
//Falls Schaltjahr 366 Tage im Jahr
if (schaltjahr == true) {
vergangeneTage = vergangeneTage + 366;
}
//Falls kein Schaltjahr 365 Tage im Jahr
else {
vergangeneTage = vergangeneTage + 365;
}
jahr++;
}
int Februar = 28;
if (schaltjahr == true) {
Februar = 29;
vergangeneTage = vergangeneTage +1;
}
else {
vergangeneTage = vergangeneTage +0;
}
// Errechnug Monat
switch (gesuchterMonat) {
case 1:
vergangeneTage = vergangeneTage + 0;
break;
case 2:
vergangeneTage = vergangeneTage + 31;
break;
case 3:
vergangeneTage = vergangeneTage + 31 + Februar;
break;
case 4:
vergangeneTage = vergangeneTage + 31 + Februar + 31;
break;
case 5:
vergangeneTage = vergangeneTage + 31 + Februar + 31 + 30;
break;
case 6:
vergangeneTage = vergangeneTage + 31 + Februar + 31 + 30 + 31;
break;
case 7:
vergangeneTage = vergangeneTage + 31 + Februar + 31 + 30 + 31 + 30;
break;
case 8:
vergangeneTage = vergangeneTage + 31 + Februar + 31 + 30 + 31 + 30 +31;
break;
case 9:
vergangeneTage = vergangeneTage + 31 + Februar + 31 + 30 + 31 + 30 +31 +31;
break;
case 10:
vergangeneTage = vergangeneTage + 31 + Februar + 31 + 30 + 31 + 30 +31 +31 + 30;
break;
case 11:
vergangeneTage = vergangeneTage + 31 + Februar + 31 + 30 + 31 + 30 +31 +31 + 30 + 31;
break;
case 12:
vergangeneTage = vergangeneTage + 31 + Februar + 31 + 30 + 31 + 30 +31 +31 + 30 + 31 + 30;
break;
default:
System.out.println("Offenbar gab es einen Fehler bei der Berechnung! \n Vielleicht bei der Monatseingabe vertippt?");
break;
}
//Errechnung des Wochentags mithilfe Gaußscher Formel
int Wochentag = (vergangeneTage + gesuchterTag - 1) % 7;
switch (Wochentag) {
case 0:
System.out.println("\nDer gesuchte Tag ist ein Sonntag!");
break;
case 1:
System.out.println("\nDer gesuchte Tag ist ein Montag!");
break;
case 2:
System.out.println("\nDer gesuchte Tag ist ein Dienstag!");
break;
case 3:
System.out.println("\nDer gesuchte Tag ist ein Mittwoch!");
break;
case 4:
System.out.println("\nDer gesuchte Tag ist ein Donnerstag!");
break;
case 5:
System.out.println("\nDer gesuchte Tag ist ein Freitag!");
break;
case 6:
System.out.println("\nDer gesuchte Tag ist ein Samstag!");
break;
default:
System.out.println("\nOffenbar gab es einen Fehler bei der Berechnung!");
break;
}
//Errechnung Kalenderwoche
int tage=0;
switch(gesuchterMonat){
case 12:
tage = tage+30;
case 11:
tage = tage+31;
case 10:
tage = tage+30;
case 9:
tage = tage+31;
case 8:
tage = tage+31;
case 7:
tage = tage+30;
case 6:
tage = tage+31;
case 5:
tage = tage+30;
case 4:
tage = tage+31;
case 3:
tage = tage+28;
case 2:
tage = tage+31;
case 1:
tage = tage+gesuchterTag;
}
int kw = tage % 7 < 3 ? tage/7 : (tage-1)/7+1 ;
System.out.println("Es ist die " + kw+". Kalenderwoche" );
}
}
also ich will sozusagen jetz in der methode kalenderberechnung keine werte angeben müssen sondern die,die ich in der terminplanung schon eingebe und im array gespeichert werden.