zoukankan      html  css  js  c++  java
  • 日历制作

     1 package Format_daqo;
     2 
     3 import java.util.Calendar;
     4 import java.util.Scanner;
     5 
     6 public class calendar_wh {
     7     public static void main(String[] args){
     8         Scanner sc=new Scanner(System.in);
     9         System.out.println("请输入年份:");
    10         int year=sc.nextInt();
    11         System.out.println("请输入月份:");
    12         int month=sc.nextInt();
    13         System.out.println("请输入天数:");
    14         int day=sc.nextInt();
    15         
    16         Calendar cal=Calendar.getInstance();
    17         cal.set(year,month-1,1);//设置为该月的第一天
    18                 
    19         String[][] arr=new String[7][7];
    20         arr[0][0]="星期天";
    21         arr[0][1]="星期一";
    22         arr[0][2]="星期二";
    23         arr[0][3]="星期三";
    24         arr[0][4]="星期四";
    25         arr[0][5]="星期五";
    26         arr[0][6]="星期六";
    27         
    28         //获取输入月份的第一天是星期几
    29         int x=cal.get(Calendar.DAY_OF_WEEK);//1代表星期天,2代表星期一...
    30         //获取月份
    31         int m=cal.get(Calendar.MONTH)+1;
    32         //获取指定年月的最大天数
    33         int mdays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
    34             
    35         int d=1;
    36         for (int i = 1; i < arr.length;i++) {//给二维数组赋值
    37             for (int j = 0; j < arr.length;j++) {
    38                 //第二行的数组中,小于指定月份的第一天周几的前几天或大于本月的最大天数均赋值为空
    39                 if((i==1&&j<(x-1))||(d>mdays)){
    40                     arr[i][j]="";
    41                 //第二行的数组中,给本月的第一天周几赋值为1    
    42                 }else if(i==1&&j==(x-1)){
    43                     arr[i][j]=d+"";
    44                     d++;
    45                 //第二行数组中,本月第一天之后,若指定天数不在第二行的依次赋值    
    46                 }else if(i==1&&j>(x-1)&&d!=day){
    47                     arr[i][j]=d+"";
    48                     d++;
    49                 //第二行数组中,本月第一天之后,若指定天数在第二行的话,赋值*和天数    
    50                 }else if(i==1&&j>(x-1)&&d==day){
    51                     arr[i][j]="*"+d+"";
    52                     d++;
    53                 //第二行数组以外,有与指定的天数相同的话,赋值*和天数        
    54                 }else if(d==day){
    55                     arr[i][j]="*"+d+"";
    56                     d++;
    57                 //没有相同的天数,依次赋值天数    
    58                 }else{
    59                     arr[i][j]=d+"";
    60                     d++;
    61                 }
    62             }
    63         }
    64         
    65         for (int i = 0; i < arr.length; i++) {
    66             for (int j = 0; j < arr.length; j++) {
    67                 System.out.print(arr[i][j]+"	");
    68             }
    69             System.out.println();
    70         }                
    71     }
    72 }
     1 请输入年份:
     2 2016
     3 请输入月份:
     4 9
     5 请输入天数:
     6 21
     7 星期天    星期一    星期二    星期三    星期四    星期五    星期六    
     8                             1        2        3    
     9 4        5        6         7        8        9        10    
    10 11       12       13        14       15       16       17    
    11 18       19       20       *21       22       23       24    
    12 25       26       27        28       29       30        
    13                             
  • 相关阅读:
    RabbitMQ知识点整理12-消费端的确认与拒绝
    RabbitMQ知识点整理11-消费消息
    RabbitMQ知识点整理0-准备工作和记录
    设计模式-23种设计模式
    设计原则-6大设计原则
    super在python 2.7和Python3中的使用
    rest-framework 视图类源码分析
    celery 组件在django环境应用
    rest framwork 4 分页功能
    rest framework 学习 序列化
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/5894206.html
Copyright © 2011-2022 走看看