Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Calendar cal = new GregorianCalendar();
cal.set(Calendar.MONTH, Calendar.FEBRUARY);
System.out.println(cal.getActualMaximum(Calendar.DATE)); //das ist jetzt 2011
cal.set(Calendar.YEAR, 2012);
System.out.println(cal.getActualMaximum(Calendar.DATE)); //das ist jetzt 2012, ein schaltjahr..
public int getActualMaximum(int field) {
field nicht month... Calendar ist eine furchtbare Klasse...
import java.util.Calendar;
import java.util.GregorianCalendar;
public class Test {
public static void main(String[] args) {
Calendar cal = new GregorianCalendar();
cal.set(Calendar.MONTH, Calendar.FEBRUARY);
System.out.println(cal.getActualMaximum(Calendar.DATE));
}
}
Schreiben Sie ein Java-Programm, welches für einen gegebenen Monat die Anzahl seiner Tage
anzeigt. Der Monat soll durch Eingabe des Jahres und der Monatsangabe – von 1 (Januar) bis 12
(Dezember) – spezifiziert werden. Berücksichtigen Sie Schaltjahre (siehe Aufgabe 1c).
Das Programm soll dem Nutzer die Möglichkeit geben, eine weitere Berechnung durchzuführen oder
das Programm zu beenden.
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int month;
int year;
System.out.println("Eingabe des Monats ");
month = in.nextInt();
System.out.println("Eingabe des Jahr ");
year = in.nextInt();
int getLastDayOfMonth;
System.out.println(getLastDayOfMonth(2010, 2));
System.out.println(getLastDayOfMonth(2011, 2));
System.out.println(getLastDayOfMonth(2012, 2));
}
private static int getLastDayOfMonth(int year, int month) {
int februar = 1/(month%2*2 + month/2) * (2 - 1/(year%4+1) + 1/(year%100+1) - 1/(year%400+1));
return 30 + month/8 + month%2 - (month/8 * month%2 * 2) - februar;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int month;
int year;
System.out.println("Eingabe des Monats ");
month = in.nextInt();
System.out.println("Eingabe des Jahr ");
year = in.nextInt();
System.out.println(getLastDayOfMonth(year, month));
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Eingabe des Jahr ");
int year = in.nextInt();
for (int month = 1; month <= 12; month++) {
System.out.println(getLastDayOfMonth(year, month) + " Tage");
}
}