• 通过学习Date和Calendar时写的日历


    package com.etc.util;
    
    import java.util.Calendar;
    import java.util.Scanner;
    
    public class Calendar2 {
    
    	public static void main(String[] args) {
    		// 创建扫描器
    		Scanner sc = new Scanner(System.in);
    		// 输入年份
    		System.out.println("请输入指定年份:");
    		int year = sc.nextInt();
    		// 输入月份
    		System.out.println("请输入指定月份:");
    		int month = sc.nextInt();
    		// 输入天数
    		System.out.println("请输入指定天数:");
    		int day = sc.nextInt();
    
    		// 在控制台输出周期数
    		System.out.println("日	一	二	三	四	五	六");
    
    		// 创建日历Calendar变量对象
    		Calendar cal = Calendar.getInstance();
    		// 给Calendar对象设置年月日
    		cal.set(Calendar.YEAR, year);
    		cal.set(Calendar.MONTH, month - 1);
    		// cal.set(Calendar.DATE,day);
    
    		// 将天数设置为第一天
    		cal.set(Calendar.DATE, 1);
    
    		// 指定月的第一天是星期几
    		int i = cal.get(Calendar.DAY_OF_WEEK);
    
    		int weekday = 0;// 指定月的第一天前面有多少个空格
    		switch (i) {
    		case 1:
    			weekday = 0;
    			break;
    		case 2:
    			weekday = 1;
    			break;
    		case 3:
    			weekday = 2;
    			break;
    		case 4:
    			weekday = 3;
    			break;
    		case 5:
    			weekday = 4;
    			break;
    		case 6:
    			weekday = 5;
    			break;
    		case 7:
    			weekday = 6;
    			break;
    		}
    
    		// 打印输出指定月第一天的前面几个空格
    		for (int j = 0; j < weekday; j++) {
    			System.out.print("	");
    		}
    
    		int days = 1;
    		// 从指定月的第一天开始打印输出
    		for (int j = 0; j < 7 - weekday; j++) {
    			System.out.print(days + "	");
    			days++;
    		}
    
    		int actualMaximumDate = cal.getActualMaximum(Calendar.DATE);//获取本月的实际最大天数
    		cal.set(Calendar.DATE,actualMaximumDate);//设置本月的天数是当前月的实际最大天数    
    		int week_month=cal.get(Calendar.WEEK_OF_MONTH);//返回的是当前天数是本月第几周       
    		
    		for(int j=0;j<week_month;j++){//指定月有多少周,就打印多少行
    			System.out.println();//每输出打印7天就换一行
    			for(int k=0;k<7;k++){//依次将周日到周六的对应的天数打印出来
    				if(days>actualMaximumDate){//若自动增加的天数大于实际天数,循环终止
    					return;
    				}
    				if(days==day){//若指定的天数与当前自动增加的天数一样,标识出来打印
    					System.out.print("*"+days+"	");
    				}else{//若指定的天数与当前自动增加的天数不一样,正常打印
    					System.out.print(days+"	");
    				}
    				days++;
    			}
    		}
    		
    		
    	}
    }
    

      

  • 相关阅读:
    Spring -- 自定义转换器
    Spring乱码问题解决方案
    Spring 声明式事务
    Spring -- IOC
    Spring--入门
    mybatis 二级缓存
    Mybatis 缓存失效的几种情况
    MyBatis深入浅出--入门
    【RF库Collections测试】Get From Dictionary
    【RF库Collections测试】Get Dictionary Values
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/6815154.html
Copyright © 2020-2023  润新知