• 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();
        }
    
    }

    效果:

  • 相关阅读:
    No.1
    JS二叉树的操作
    JS实现快排
    BOM中的各种height
    innerHTML outerHTML innerText value 区别
    【转载】JS中DOM操作汇总
    【转载】轻松理解JS闭包
    【转载】JavaScript模块入门
    【转载】JavaScript模块简介
    【转载】浏览器缓存详解:expires cache-control last-modified
  • 原文地址:https://www.cnblogs.com/woaixingxing/p/7011673.html
Copyright © 2020-2023  润新知