java 核心技术 卷1 第四章 CalendarTest
2012-12-27 22:02
260 查看
package char04; import java.text.DateFormatSymbols; import java.util.Calendar; import java.util.GregorianCalendar; public class CalendarTest { /** * @param args */ public static void main(String[] args) { GregorianCalendar d =new GregorianCalendar(); int today=d.get(Calendar.DAY_OF_MONTH); int month=d.get(Calendar.MONTH); //set d to start date of the month d.set(Calendar.DAY_OF_MONTH, 1); int weekday=d.get(Calendar.DAY_OF_WEEK); System.out.println("weekday="+weekday); //get first day of week(Sunday in the U.S.) int firstDayOfWeek=d.getFirstDayOfWeek(); //determine the required indentation for the first line int indent=0; while(weekday!=firstDayOfWeek){ indent++; d.add(Calendar.DAY_OF_MONTH, -1); weekday=d.get(Calendar.DAY_OF_WEEK); } //print weekday names 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{ //print day int day=d.get(Calendar.DAY_OF_MONTH); System.out.printf("%3d",day); //mark current day with * if(day==today)System.out.print("*"); else System.out.print(" "); //advance d to the next day d.add(Calendar.DAY_OF_MONTH, 1); weekday=d.get(Calendar.DAY_OF_WEEK); //start a new line at the start of the week if(weekday==firstDayOfWeek)System.out.println(); }while(d.get(Calendar.MONTH)==month); //the loop exits when d is day 1 of the next month //print final end of line if necessary if(weekday!=firstDayOfWeek)System.out.println(); } }
相关文章推荐
- JAVA核心技术 第四章 对象与类 方法参数
- Java核心技术:第四章 对象与类
- java 多线程核心技术 第四章 lock的使用
- java 核心技术 第四章 Calendar 测试 与Calendar 的使用EmployeeTest
- Java核心技术基础篇 第四章 类与对象 阅读笔记
- Java核心技术I——基础点拾掇(第四章)
- JAVA核心技术 第四章 对象与类 对象构造 重载
- JAVA核心技术 第四章 对象与类 类设计技巧
- Java多线程编程核心技术(第四章Lock的使用)
- Java核心技术--数组拷贝
- 小博老师解析Java核心技术 ——JDBC参数化查询(一)
- Java 多线程核心技术梳理
- JAVA基础【5.3】《Java核心技术1》继承-Object类
- Java多线程编程核心技术--Lock的使用(一)
- 好读书不求甚解(一)Java多线程编程核心技术
- java核心技术-Object hashCode
- Java核心技术点之多线程
- 学java,这21个核心技术点你记住了?1
- Java核心技术学习---多线程,锁,同步,条件对象部分应用源码
- java核心技术I 第三章 输入测试盒大数测试