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