Cómo escribir un calendario sencillo usando JAVA
importar javax.swing.JOptionPane;
clase pública NewClass{
public static void main(String[] args){
int año, mes;
Calender cal=new Calender(2008,10);
cal.showCalender();
año=Integer.parseInt(JOptionPane .showInputDialog("Año:"));
mes=Integer.parseInt(JOptionPane.showInputDialog("Mes:"));
cal.setYear(año); p> p>
cal.setMonth(mes);
cal.showCalender();
}
}
calendario de clase {
privado int año, mes;
calendario público(){
año=0;
mes=1;
p>}
Calendario público(año int){
este.año=año;
mes=1; p>
}
Calendario público(int año,int mes){
this.year=año;
if(mes>12)
este.mes=mes%12;
else
este.mes=mes;
}
public void setYear(int año){
this.year=year;
}
public void setMonth(int mes){
if(mes >12)
este.mes=mes%12;
else
este.mes=mes;
}
private int dayOfMonth(){
int días=0;
switch(mes){
caso 1:días= 31;break;
caso 2:{
if(((año%4==0)&&(año%100!=0))||(año%400= =0))
días=29;
else
días=28;
descanso;
}
caso 3: días=31;descanso;
caso 4:días=30;descanso;
caso 5:días=31;descanso;
caso 6:días= 30;descanso;
caso 7:días=31;descanso;
caso 8:días=31;descanso;
caso 9:días=30; descanso;
caso 10:días=31;descanso;
caso 11:días=30;descanso;
caso 12:días=31;descanso;
predeterminado:
días=0;
}
días de devolución;
}
privado int díaDeLaSemana(){
int Y=año;
int M=mes;
int D=1;
int A;
A = Y>0?(5+(Y+1)+(Y-1)/4-(Y-1)/10(Y-1)/400 )%7:(5+Y+Y/4-Y/10Y/400)%7;
A = M>2?(A+2*(M+1)+3* (M+1)/5)%7:(A+2*(M+2)+3*(M+2)/5)%7;
si (((Y%4 = = 0 && Y%100 != 0)|| Y%400 == 0) && M>2) A =(A+1)%7;
A=(A+D)%7 ;
return A;
}
public void showCalender(){
String str=new String();
str=" ";
str+=año+"año"+mes+"mes";
str+="\n\n";
str+="Día uno, dos, tres, cuatro, cinco, seis\n";
int semana=this.dayOfWeek();
for(int i=0, j=1;i <7;i++){
if(i str+=" "; else{ p> str+=" "+j+" "; j++; } } str+="\ n"; end: for(int i=7-week+1;i<=this.dayOfMonth();){ for( int j=0;j<7;j++){ if(i<10) str+=" "+i+" "; else str+=i+" "; i++; if(i>this.dayOfMonth()) fin de ruptura; p> p> } str+="\n"; } JOptionPane.showMessageDialog(null,str); } } Usar una clase para implementar