50,550
社区成员
发帖
与我相关
我的任务
分享
import javax.swing.*;
import java.util.Calendar;
/**
* Created by IntelliJ IDEA.
* User: ioe_gaoyong
* Date: 2011-9-28
* Time: 0:33:20
* To change this template use File | Settings | File Templates.
* 这个类里面要自己设计排布的方法,自己画出一个日历
*/
public class PC2 {
public static void main(String[] args){
int option=0;
do{
String yearString= JOptionPane.showInputDialog("请输入一个年份(如:2010):");
int year=Integer.parseInt(yearString);
String monthString=JOptionPane.showInputDialog("请输入一个月份(如:8):");
int month=Integer.parseInt(monthString);
// JOptionPane.showMessageDialog(null,printMonth(year,month));
System.out.println(year+"年"+month+"月");
// printCalendar(2011,9);
printCalendar(year,month);
option=JOptionPane.showConfirmDialog(null,"countinue?");
}while(option==JOptionPane.YES_OPTION);
}
public static void printCalendar(int year,int month){
String printMonthTitle=" "+year+"年"+month+"月"+"\n";
printMonthTitle+="----------------------------------\n";
printMonthTitle+="SUN\tMON\tTUE\tWED\tTHU\tFRI\tSAT \n";
System.out.println(printMonthTitle);
Calendar c=Calendar.getInstance();
c.set(year,month-1,1);//现在的时间是该月的第一天
int firstDayOfWeek=c.get(Calendar.DAY_OF_WEEK);//这个月的1号是星期几
int sumDays=c.getMaximum(Calendar.DAY_OF_MONTH);//获得这个月总共多少天
// System.out.println(firstDayOfWeek);
for(int i=1;i<firstDayOfWeek;i++){
System.out.print(" \t");
}
if(firstDayOfWeek!=7){
System.out.print(1+" \t");
}else{
System.out.println(1+" \t");
}
for(int i=2;i<=sumDays;i++){
c.add(Calendar.DAY_OF_MONTH,1);
if(c.get(Calendar.DAY_OF_WEEK)==7){//如果是星期六
System.out.println(i);
}else{
if(i<=8){
System.out.print(i+" \t");
}else{
System.out.print(i+" \t");
}
}
}
}
}