• 日历2


     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(" "+"	");
    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("星期一"+"	"+"星期二"+"	"+"星期三"+"	"+"星期四"+"	"+"星期五"+"	"+"星期六"+"	"+"星期日");
    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+"*	");
    77             }else{
    78                 System.out.print(i+"	");
    79             }
    80             count++;
    81             if(count%7==0){
    82                 System.out.print("
    ");
    83             }
    84         }
    85         scan.close();
    86     }
    87 }
  • 相关阅读:
    Linux系统下手把手完成无人值守安装服务
    2019年国际网络安全趋势
    Wi-Fi Mesh网络技术
    如何用nginx在本地把9000端口转发到80端口上
    LAMP架构部署和动态网站环境的配置
    智能校服受到多数学生追捧
    热心网友设计出更美的Windows 10开始菜单
    一起来全面解析5G网络领域最关键的十大技术
    如何跟上时代的步伐进入云世界
    c#写入文件流
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/5897382.html
Copyright © 2020-2023  润新知