码迷,mamicode.com
首页 > 其他好文 > 详细

日历2

时间:2016-09-22 19:34:51      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

 1 package Format_daqo;
 2 
 3 import java.text.SimpleDateFormat;
 4 import java.util.Calendar;
 5 import java.util.Date;
 6 import java.util.Scanner;
 7 
 8 /**
 9  *     1、第一行的7个格子里放星期几
10     2、第二行的7个格子里分别放啥?
11     根据输入的日期判断:
12     如果对应月份的第1天是星期一,则第二行的每个格子里打印对应的天数
13     如果对应月份的第1天是星期二,则第二行的第1个格子里放空格,其他格子里放天数
14     如果对应月份的第1天是星期三,则第二行的第1~2个格子里放空格,其他格子里放天数
15     如果对应月份的第1天是星期四,则第二行的第1~3个格子里放空格,其他格子里放天数
16     如果对应月份的第1天是星期五,则第二行的第1~4个格子里放空格,其他格子里放天数
17     如果对应月份的第1天是星期六,则第二行的第1~5个格子里放空格,其他格子里放天数
18     如果对应月份的第1天是星期天,则第二行的第1~6个格子里放空格,其他格子里放天数
19 3、假设对应的月份总共有30天,则一共需要放30个数字,每行放满后,从新的一行开始放
20  * @author frank
21  *
22  */
23 public class Calendar_Frank2 {
24     static int count;//用来统计放了多少次空格或数字
25     static void printSpace(int c){
26         for(int i=0;i<c;i++){
27             System.out.print(" "+"\t");
28             count++;
29         }
30     }
31     
32     public static void main(String[] args) throws Exception {
33         System.out.println("请输入日期(格式为yyyy-MM-dd):");
34         Scanner scan = new Scanner(System.in);
35         String str = scan.next();
36         //
37         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
38         Date date = sdf.parse(str);
39         //
40         Calendar cal = Calendar.getInstance();
41         //将cal表示的时间修改成date所表示的时间
42         cal.setTime(date);
43         
44         System.out.println("星期一"+"\t"+"星期二"+"\t"+"星期三"+"\t"+"星期四"+"\t"+"星期五"+"\t"+"星期六"+"\t"+"星期日");
45         
46         int day = cal.get(Calendar.DAY_OF_MONTH);  //获取cal所表示的天,即输入的那一天(比如2015-12-22,就是22)
47         
48         cal.set(Calendar.DAY_OF_MONTH, 1);//
49         
50         int days = cal.getActualMaximum(Calendar.DAY_OF_MONTH);//获取这个月有多少天    30
51         
52         //该月的第一天是周几
53         switch(cal.get(Calendar.DAY_OF_WEEK)){
54         case 1://代表国外的周日 
55             printSpace(6);
56             break;
57         case 2://代表国外的周一 
58             break;
59         case 3://代表国外的周二 
60             printSpace(1);
61             break;
62         case 4://代表国外的周三 
63             printSpace(2);
64             break;
65         case 5://代表国外的周四 
66             printSpace(3);
67             break;    
68         case 6://代表国外的周五 
69             printSpace(4);
70             break;    
71         case 7://代表国外的周六 
72             printSpace(5);
73         }
74         for(int i=1;i<=days;i++){
75             if(i==day){
76                 System.out.print(i+"*\t");
77             }else{
78                 System.out.print(i+"\t");
79             }
80             count++;
81             if(count%7==0){
82                 System.out.print("\n");
83             }
84         }
85         scan.close();
86     }
87 }

 

日历2

标签:

原文地址:http://www.cnblogs.com/1020182600HENG/p/5897382.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!