• 日历制作


     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                             
  • 相关阅读:
    机器学习:不平衡信息有序平均加权最近邻算法IFROWANN
    项目代码管理工具Git的总结
    jquery的返回顶端的功能实现
    web项目中登陆超时的功能实现(基于C#)
    存储过程:项目中使用存储过程的一个实例
    Vbox中unbuntu15.10与win10共享文件 及开启复制粘贴功能
    网站开发常用Sql语句
    维护基于ASP.NET的网站的学习-SqlCommand类介绍及存储过程
    本地向服务器上传文件的方式-FTP工具上传
    本地向服务器上传文件的方式-本地资源映射到服务器
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/5894206.html
Copyright © 2020-2023  润新知