Java课程设计——日历的设计与实现
生活随笔
收集整理的這篇文章主要介紹了
Java课程设计——日历的设计与实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、日歷的設計與實現
首先要將用戶輸入的日期轉換成字符串格式,再將字符串轉換成指定的日期格式,最后把日期格式變成日歷。然后就是要寫好每個月有幾天,是閏年還是平年,每個月的第一天是星期幾,一個日歷中有幾行幾列等等。程序中還實現了當前你查詢的日期前面還多了一個“#”。
二、使用步驟
package Java課程設計;import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Scanner;public class MyCalendar {public static void main(String[] args) {myCalendar();}public static void myCalendar() {int maxDay = 0; int firstDay = 0; int currentDay = 0; System.out.println("請輸入一個日期:格式為:2030-03-10"); Scanner scanner = new Scanner(System.in);String str = scanner.nextLine(); //鍵盤輸入日期格式的字符串try {DateFormat format = new SimpleDateFormat("yyyy-MM-dd");Date date = format.parse(str); //將字符串轉化為指定的日期格式,把String轉換成Date對象Calendar calendar = new GregorianCalendar();calendar.setTime(date); //將日期轉化為日歷maxDay = calendar.getActualMaximum(Calendar.DATE); //當前日期中當前月對應的最大天數currentDay = calendar.get(Calendar.DATE); //當前日期中的當前天calendar.set(Calendar.DATE, 1); // 設置為當前月的第一天firstDay = calendar.get(Calendar.DAY_OF_WEEK); //當前日期中當前月第一天對應的星期數} catch (ParseException e) {e.printStackTrace();}System.out.println("日\t一\t二\t三\t四\t五\t六\n");for (int j = 1; j < firstDay; j++) {System.out.print("\t");}for (int i = 1; i <= maxDay; i++) {if (i == currentDay) {System.out.print("#");}System.out.print(i + "\t");if ((i - (8 - firstDay)) % 7 == 0) {System.out.println("\n");}}} }運行結果
三、總結
要想編寫好一個簡單日歷的程序,就要想好每步該怎么寫,如果這樣寫有什么漏洞,有什么地方需要改進的。每個月的第一天是星期幾是這部分最難的地方,需要想好思路。總之,邏輯思維是最關鍵的要素。
四、不足
該程序沒有判斷用戶輸入的日期是否正確,應該規定月份小于等于12,每月的天數不能超過本月天數。(有哪位好心人幫我改進一下,感激不盡!!!)
總結
以上是生活随笔為你收集整理的Java课程设计——日历的设计与实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [css] flex布局的缺点有哪些?
- 下一篇: [js] AudioContext有什