Java黑皮书课后题第10章:*10.14(MyDate类)设计一个名为MyDate的类
生活随笔
收集整理的这篇文章主要介绍了
Java黑皮书课后题第10章:*10.14(MyDate类)设计一个名为MyDate的类
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
黑皮书编程练习题10.14
- 题目
- 程序
- 代码
- Test14.java
- Test14_MyDate.java
- Test5.java
- 运行
- UML
题目
补:讨论的GregorianCalendar类来简化编程
程序
Test14.java:测试程序
Test14_MyDate.java:构造程序
Test5:参考程序(编程练习题9.5)
代码
Test14.java
public class Test14 {public static void main(String[] args) {Test14_MyDate date0 = new Test14_MyDate();Test14_MyDate date1 = new Test14_MyDate(34355555133101L);System.out.println(date0.year + "年" + date0.month + "月" + date0.day + "日");System.out.println(date1.year + "年" + date1.month + "月" + date1.day + "日");} }Test14_MyDate.java
import java.util.GregorianCalendar;public class Test14_MyDate {int year, month, day; // 月从0开始public Test14_MyDate(){GregorianCalendar gc = new GregorianCalendar();year = gc.get(GregorianCalendar.YEAR);month = gc.get(GregorianCalendar.MONTH);day = gc.get(GregorianCalendar.DAY_OF_MONTH);}public Test14_MyDate(long l){GregorianCalendar gc = new GregorianCalendar();gc.setTimeInMillis(l);year = gc.get(GregorianCalendar.YEAR);month = gc.get(GregorianCalendar.MONTH);day = gc.get(GregorianCalendar.DAY_OF_MONTH);}public Test14_MyDate(int year, int month, int day){this.year = year;this.month = month;this.day = day;}public void setDate(long elapsedTime){GregorianCalendar gc = new GregorianCalendar();gc.setTimeInMillis(elapsedTime + toCalender(year, month, day));year = gc.get(GregorianCalendar.YEAR);month = gc.get(GregorianCalendar.MONTH);day = gc.get(GregorianCalendar.DAY_OF_MONTH);}public long toCalender(int year, int month, int day){day += year * 365;switch (month){case 11: day += 31;case 10: day += 30;case 9: day += 31;case 8: day += 30;case 7: day += 31;case 6: day += 31;case 5: day += 30;case 4: day += 31;case 3: day += 30;case 2: day += 31;case 1: day += 28;}return (long) day * 24 * 60 * 60 * 1000;} }Test5.java
import java.util.GregorianCalendar;public class Test5 {public static void main(String[] args) {GregorianCalendar gc = new GregorianCalendar();System.out.print(gc.get(GregorianCalendar.YEAR) + "年");System.out.print(gc.get(GregorianCalendar.MONTH) + "月");System.out.println(gc.get(GregorianCalendar.DAY_OF_MONTH) + "日");gc.setTimeInMillis(1234567898765L);System.out.print(gc.get(GregorianCalendar.YEAR) + "年");System.out.print(gc.get(GregorianCalendar.MONTH) + "月");System.out.print(gc.get(GregorianCalendar.DAY_OF_MONTH) + "日");} }运行
2021年8月21日 3058年8月8日UML
总结
以上是生活随笔为你收集整理的Java黑皮书课后题第10章:*10.14(MyDate类)设计一个名为MyDate的类的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Java黑皮书课后题第10章:*10.1
- 下一篇: Java黑皮书课后题第10章:*10.1