野心家

导航

输入年份和月份,输出该年该月的日历

 1 package h2;
 2 import java.util.Scanner;
 3 import java.util.Calendar;
 4 public class H2 {
 5 
 6     
 7     public static void main(String[] args) {               
 8         Scanner input=new Scanner(System.in);
 9         System.out.println("请输入年份");
10         int year=input.nextInt();
11         System.out.println("请输入月份");
12         int month=input.nextInt(); 
13         int flag=0;
14         int days=0;//初始化某年的某月共几天
15         //判断是否是闰年
16         if((year%4==0&&year%100==0)||(year%400==0)){
17             flag=1;
18         }else{
19             flag=0;
20         }
21         //输出某年的某月共几天
22         switch(month){
23             case 4:
24             case 6:
25             case 9:
26             case 11:
27                 days=30;
28                 break;
29             case 2:
30                 if(flag==1){
31                     days=29;  
32                 }else{
33                     days=28;
34                 }
35                 break;
36             default:
37                 days=31;            
38         }       
39         //计算某年某月的1月1日是星期几
40         Calendar c=Calendar.getInstance();
41         c.set(year, month-1,1);
42         int week=c.get(Calendar.DAY_OF_WEEK);//定义week获取某年某月的1月1日是星期几
43         
44         System.out.println();
45         System.out.println();
46         System.out.println("\t\t\t"+year+"年"+month+"月");
47         System.out.println("一\t二\t三\t四\t五\t六\t日");        
48         //1月1日是星期week,前面就有week-1个空格
49         //例2017/1/1是星期5,前面就有4个空格
50         for(int j=1;j<week-1;j++){
51             System.out.print("\t");
52         }
53         for(int i=1;i<=days;i++){
54             //输出日历
55             System.out.print(i+"\t");
56             //实现每七天换行
57             //注意某月1日前的空格,如果某月1日是星期week-1,则前面应该输出week-2个空格
58             if((i+week-2)%7==0){
59                 System.out.println();
60             }
61         }        
62     }
63     
64 }

 

posted on 2017-12-08 15:07  野心家  阅读(3875)  评论(0编辑  收藏  举报