# java kalender



## aziz93 (9. Jun 2017)

hallo,
ich muss eine Jahresplan klasse erstellen, indem erhält man eine 2-dimensionale 
Datenstruktur. Um den String zusammenzubauen, wird die Datenstruktur so
durchlaufen, dass jeweils die ersten Zeilen aller Monate nebeneinander ausgegeben werden.

meine code sind 

package kalender;

import java.util.Calendar;
import java.util.LinkedList;
import java.util.Set;

public class Jahresplaner {
   private LinkedList<LinkedList<String>> planliste = new LinkedList<LinkedList<String>>();
   private int jahr = 2017; // Default aktuelles Jahr
   KalenderFunktion kalenderfunktion = new KalenderFunktion();
   private FeierTage feiertag =null;

   public Jahresplaner(int jahr) {

       this.jahr = jahr;
       baueMonat(jahr);

   }


   /**
    * Der Jahresplan für die angegebenen Monate wird als String zurück gegeben.
    * Hinweis zur Implementierung: Die Monatspläne der angegebenen Monate
    * werden in einer Container-Klasse LinkedList <LinkedList<String>> der
    * "Planliste" zusammengefasst. Damit erhält man eine 2-dimensionale
    * Datenstruktur. Um den String zusammenzubauen, wird die Datenstruktur so
    * durchlaufen, dass jeweils die ersten Zeilen aller Monate nebeneinander
    * ausgegeben werden. Der zurückgegebene String sollte folgendes Format
    * haben: Januar 2017 Februar 2017 Maerz 2017 So|01| |1 Mi|01| |32 Mi|01|
    * |60 Mo|02| |2 Do|02| |33 Do|02| |61 Di|03| |3 Fr|03| |34 Fr|03| |62
    * Mi|04| |4 Sa|04| |35 Sa|04| |63 Do|05| |5 So|05| |36 So|05| |64 Fr|06| |6
    * Mo|06| |37 Mo|06| |65 usw.
    *
    * @param von
    *            (int) - 1= jan bis 12= dez
    * @param bis
    *            (int) - 1= jan bis 12= dez
    * @Return String - der Jahresplan
    */

   private LinkedList<String> baueMonat(int monat) {
       LinkedList<String> monatListe = new LinkedList<>();
       for ( monat = 1; monat < 13; monat++) {


           String woche = "";
           String wochenTag;
           String kopfZeile = "";
           String space;

           int laengeDerMonat;

           if (kalenderfunktion.istSchaltjahr(jahr) == true) {
               laengeDerMonat = Kalender.Monatslaenge[1][monat];
           } else {
               laengeDerMonat = Kalender.Monatslaenge[0][monat];
           }


           String kopfzeile = Kalender.MonatsName[monat] + " " + jahr;
           monatListe.add(kopfzeile);

           for (int tag1 = 1; tag1 <= laengeDerMonat; tag1++) {

               int tag = kalenderfunktion.wochentag_im_jahr(jahr, kalenderfunktion.tagesnummer(tag1, monat, jahr));
               wochenTag = Kalender.WochenTagKurz[tag];   

               woche = wochenTag + "|" ;

               if (tag1 < 10) {
                   woche += "0" + Integer.toString(tag1) + "|" ;
               } else
                   woche += Integer.toString(tag1) + "|" ;




               monatListe.add(woche);

           }

       }
       return monatListe;
   }

   public String gibJahresplan(int von, int bis) {
       String Jahresplan = "";


               LinkedList<String> monat = baueMonat(von) ;

               planliste.add(monat);

           for (LinkedList<String> monat1 : planliste) {
               for (String s : monat1) {
                   System.out.println(s);


               }
           }
   //}
       return Jahresplan;

   }
   private String getform(LinkedList<String> monat, int tag) {
       String form = "";
        monat = baueMonat(tag);
       if (monat != null) {
           if (tag < monat.size()) {
               form += monat.get(tag);
               if (tag == 0) {
                   form += "\t\t\t\t\t\t";

               } else {
                   form += "\t\t";
               }
           }

       }
       return form;

       }

   public static void main(String[] args) {
       Jahresplaner a = new Jahresplaner(2010);
       System.out.println(a.gibJahresplan(1,3));
       //System.out.println(a.getform(5, 10));

   }
 wer hat Ahnung, bitte mir helfen.
danke




das programm gibt so aus 
Januer 2010
Fr|01|
Sa|02|
So|03|
Mo|04|
Di|05|
Mi|06|
Do|07|
Fr|08|
Sa|09|
So|10|
Mo|11|
Di|12|
Mi|13|
Do|14|
Fr|15|
Sa|16|
So|17|
Mo|18|
Di|19|
Mi|20|
Do|21|
Fr|22|
Sa|23|
So|24|
Mo|25|
Di|26|
Mi|27|
Do|28|
Fr|29|
Sa|30|
So|31|
Februar 2010
Mo|01|
Di|02|
Mi|03|
Do|04|
Fr|05|
Sa|06|
So|07|
Mo|08|
Di|09|
Mi|10|
Do|11|
Fr|12|
Sa|13|
So|14|
Mo|15|
Di|16|
Mi|17|
Do|18|
Fr|19|
Sa|20|
So|21|
Mo|22|
Di|23|
Mi|24|
Do|25|
Fr|26|
Sa|27|
So|28|


----------



## stg (10. Jun 2017)

aziz93 hat gesagt.:


> wer hat Ahnung, bitte mir helfen.



Wobei denn? Du hast noch keine Frage gestellt...


----------



## AndiE (11. Jun 2017)

```
package kalender;

import java.util.Calendar;
import java.util.LinkedList;
import java.util.Set;

public class Jahresplaner {
private LinkedList<LinkedList<String>> planliste = new LinkedList<LinkedList<String>>();
private int jahr = 2017; // Default aktuelles Jahr
KalenderFunktion kalenderfunktion = new KalenderFunktion();
private FeierTage feiertag =null;

public Jahresplaner(int jahr) {

this.jahr = jahr;
baueMonat(jahr);

}


/**
* Der Jahresplan für die angegebenen Monate wird als String zurück gegeben.
* Hinweis zur Implementierung: Die Monatspläne der angegebenen Monate
* werden in einer Container-Klasse LinkedList <LinkedList<String>> der
* "Planliste" zusammengefasst. Damit erhält man eine 2-dimensionale
* Datenstruktur. Um den String zusammenzubauen, wird die Datenstruktur so
* durchlaufen, dass jeweils die ersten Zeilen aller Monate nebeneinander
* ausgegeben werden. Der zurückgegebene String sollte folgendes Format
* haben: Januar 2017 Februar 2017 Maerz 2017 So|01| |1 Mi|01| |32 Mi|01|
* |60 Mo|02| |2 Do|02| |33 Do|02| |61 Di|03| |3 Fr|03| |34 Fr|03| |62
* Mi|04| |4 Sa|04| |35 Sa|04| |63 Do|05| |5 So|05| |36 So|05| |64 Fr|06| |6
* Mo|06| |37 Mo|06| |65 usw.
*
* @param von
* (int) - 1= jan bis 12= dez
* @param bis
* (int) - 1= jan bis 12= dez
* @Return String - der Jahresplan
*/

private LinkedList<String> baueMonat(int monat) {
LinkedList<String> monatListe = new LinkedList<>();
for ( monat = 1; monat < 13; monat++) {


String woche = "";
String wochenTag;
String kopfZeile = "";
String space;

int laengeDerMonat;

if (kalenderfunktion.istSchaltjahr(jahr) == true) {
laengeDerMonat = Kalender.Monatslaenge[1][monat];
} else {
laengeDerMonat = Kalender.Monatslaenge[0][monat];
}


String kopfzeile = Kalender.MonatsName[monat] + " " + jahr;
monatListe.add(kopfzeile);

for (int tag1 = 1; tag1 <= laengeDerMonat; tag1++) {

int tag = kalenderfunktion.wochentag_im_jahr(jahr, kalenderfunktion.tagesnummer(tag1, monat, jahr));
wochenTag = Kalender.WochenTagKurz[tag];

woche = wochenTag + "|" ;

if (tag1 < 10) {
woche += "0" + Integer.toString(tag1) + "|" ;
} else
woche += Integer.toString(tag1) + "|" ;




monatListe.add(woche);

}

}
return monatListe;
}

public String gibJahresplan(int von, int bis) {
String Jahresplan = "";


LinkedList<String> monat = baueMonat(von) ;

planliste.add(monat);

for (LinkedList<String> monat1 : planliste) {
for (String s : monat1) {
System.out.println(s);


}
}
//}
return Jahresplan;

}
private String getform(LinkedList<String> monat, int tag) {
String form = "";
monat = baueMonat(tag);
if (monat != null) {
if (tag < monat.size()) {
form += monat.get(tag);
if (tag == 0) {
form += "\t\t\t\t\t\t";

} else {
form += "\t\t";
}
}

}
return form;

}

public static void main(String[] args) {
Jahresplaner a = new Jahresplaner(2010);
System.out.println(a.gibJahresplan(1,3));
//System.out.println(a.getform(5, 10));

}
```


----------

