zoukankan      html  css  js  c++  java
  • java学习日历输出(一)

    import java.text.DateFormatSymbols;
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    import java.util.Locale;
    
    public class Main {
    
        /**
         * 打印出日历表格
         */
        public static void main(String[] args) {
            
            GregorianCalendar d = new GregorianCalendar();
            int today = d.get(Calendar.DAY_OF_MONTH); //今天是当月的几号
            int month = d.get(Calendar.MONTH); //现在是第几月(因为从0开始算所以得到的月份要加个1)
            d.set(Calendar.DAY_OF_MONTH,1);//将d设置为这个月的第一天
            int weekday = d.get(Calendar.DAY_OF_WEEK);
            
            int firstDayOfWeek = d.getFirstDayOfWeek();
            
            int indent = 0;
            while(weekday != firstDayOfWeek){
                indent++;
                d.add(Calendar.DAY_OF_MONTH,-1);
                weekday = d.get(Calendar.DAY_OF_WEEK);
            }
            
            String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();
            
            do{
                System.out.printf("%4s", weekdayNames[weekday]);
                d.add(Calendar.DAY_OF_MONTH, 1);
                weekday = d.get(Calendar.DAY_OF_WEEK);
                
            }while(weekday != firstDayOfWeek);
            
            System.out.println();
            
            for(int i = 1;i <= indent;i++){
                System.out.print("    ");
            }
            d.set(Calendar.DAY_OF_MONTH, 1);
            
            do{
                int day = d.get(Calendar.DAY_OF_MONTH);
                System.out.printf("%3d",day);
                if(day == today)System.out.print("*");
                else System.out.print(" ");
                d.add(Calendar.DAY_OF_MONTH, 1);
                weekday = d.get(Calendar.DAY_OF_WEEK);
                
                if(weekday == firstDayOfWeek) System.out.println();
            }while(d.get(Calendar.MONTH) == month);
            
            if(weekday != firstDayOfWeek) System.out.println();
        }
    
    }

    效果:

  • 相关阅读:
    Ansys Maxwell2——二维电磁场理论和有限元基础
    Ansys Maxwell在工程电磁场中的应用1——二维分析技术
    第四章 栈
    第三章 链表
    第二章 队列
    第三章 操作系统用户界面总结
    第一章 逻辑结构与物理结构
    Linux-Mint的一些配置经验
    docker安装zookeeper的使用说明
    SpringCloud初体验-使用Eureka进行服务注册和发现
  • 原文地址:https://www.cnblogs.com/woaixingxing/p/7011673.html
Copyright © 2011-2022 走看看