




已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精品文檔 1 歡迎下載 河北科技大學(xué)河北科技大學(xué) 課程設(shè)計(jì)報(bào)告 學(xué)生姓名 學(xué) 號 專業(yè)班級 課程名稱 Java 程序設(shè)計(jì)課程設(shè)計(jì) 學(xué)年學(xué)期 2 014 2 015 學(xué)年第 2 學(xué)期 指導(dǎo)教師 劉偉 2 0 年 月 精品文檔 2 歡迎下載 課程設(shè)計(jì)成績評定表課程設(shè)計(jì)成績評定表 學(xué)生姓名學(xué) 號成績 專業(yè)班級起止時(shí)間 設(shè)計(jì)題目 指 導(dǎo) 教 師 評 語 學(xué)習(xí)態(tài)度 端正 較端正 一般 較差 學(xué)習(xí)紀(jì)律 好 較好 一般 較差 出勤情況 好 較好 一般 較差 程序設(shè)計(jì) 好 較好 一般 較差 動(dòng)手能力 強(qiáng) 較強(qiáng) 一般 較差 團(tuán)隊(duì)精神 好 較好 一般 較差 創(chuàng)新意識 強(qiáng) 較強(qiáng) 一般 較差 課程設(shè)計(jì)完成情況 優(yōu)秀 好 一般 較差 課程設(shè)計(jì)報(bào)告完成情況 優(yōu)秀 好 一般 較差 指導(dǎo)教師 年 月 日 精品文檔 3 歡迎下載 目 錄 1 課程設(shè)計(jì)目的 1 2 需求分析 1 3 總體設(shè)計(jì) 1 4 詳細(xì)設(shè)計(jì) 1 5 軟件測試 10 6 課程設(shè)計(jì)總結(jié) 11 精品文檔 4 歡迎下載 精品文檔 55歡迎下載 一 課程設(shè)計(jì)目的 1 熟練使用 java 語言編寫程序 解決實(shí)際問題 2 初步掌握軟件開發(fā)過程的問題分析 系統(tǒng)設(shè)計(jì) 程序編碼 測試等基本方法和 技能 3 學(xué)會(huì)自己調(diào)試程序的方法并掌握一定的技巧 二 需求分析 本程序的要求為 1 使用圖形用戶界面 2 本程序能夠?qū)崿F(xiàn)日期與星期的查詢 三 總體設(shè)計(jì) 1 可以通過圖形界面顯示日歷 2 能以月歷形式顯示日期與星期 3 支持用戶自己輸入年份 可以通過上一年 下一年等按鈕來選擇年份和月份 四 詳細(xì)設(shè)計(jì) 1 總天數(shù)的算法 首先用 if 語句判斷定義年到輸入年之間每一年是否為閏年 是 閏年 該年的總天數(shù)為 366 否則 為 365 2 輸出月份第一天為星期幾的算法 使總天數(shù)除以 7 取余得幾既為星期幾 若是 0 則為星期日 3 算出輸出月份第一天為星期幾的算法 算出輸出月份第一天為星期幾后 把該 日期以前的位置用空格補(bǔ)上 并總該日起一次輸出天數(shù)直到月底 該月中的天數(shù)加上 該月一日為星期幾的數(shù)字再除以 7 得 0 換行 即可完整的輸出該月的日歷 4 查詢年份必須為四位有效數(shù)字 否則不予顯示 程序源代碼 importimport java awt BorderLayout 精品文檔 66歡迎下載 importimport java awt Color importimport java awt FlowLayout importimport java awt Font importimport java awt GridLayout importimport java awt event ActionEvent importimport java awt event ActionListener importimport java awt event ItemEvent importimport java sql Date importimport java text DateFormat importimport java text SimpleDateFormat importimport java util Calendar importimport java awt importimport java awt event importimport java text importimport java time Clock importimport java util importimport javax swing importimport javax swing table importimport javax swing importimport javax swing table DefaultTableModel publicpublic classclass wannianli extendsextends JFrame implementsimplements ActionListener privateprivate Calendar cal Calendar getInstance privateprivate String str 星期一 星期二 星期三 星期四 星期五 星期六 星期日 privateprivate DefaultTableModel dtm newnew DefaultTableModel nullnull str privateprivate JTable table newnew JTable dtm 裝日 期的表格 privateprivate JScrollPane sp newnew JScrollPane table privateprivate JButton bLastYear newnew JButton 上一年 精品文檔 77歡迎下載 privateprivate JButton bNextYear newnew JButton 下一年 privateprivate JButton bLastMonth newnew JButton 上月 privateprivate JButton bNextMonth newnew JButton 下月 privateprivate JTextField Year newnew JTextField 4 jtfYear 年份顯示和 輸入文本 privateprivate JLabel jla newnew JLabel 年 privateprivate JTextField month newnew JTextField 4 privateprivate JLabel jla1 newnew JLabel 月 privateprivate JTextField jtfMonth newnew JTextField 2 jtfMonth 月份顯 示文本框 privateprivate JComboBox comb privateprivate JPanel p1 newnew JPanel 裝入控制日期按鈕的模塊 privateprivate JPanel p2 newnew JPanel privateprivate JPanel p3 newnew JPanel newnew GridLayout 2 1 privateprivate JPanel p4 newnew JPanel privateprivate JPanel p5 newnew JPanel privateprivate JLabel l newnew JLabel 文本框中可直接鍵入要查找的年份 以 提高查詢效率 privateprivate JLabel lt newnew JLabel privateprivate JLabel com newnew JLabel 請選擇月份 privateprivate intint lastTime privateprivate wannianli supersuper 萬年歷 框架命名 thisthis setDefaultCloseOperation JFrame EXIT ON CLOSE 窗口關(guān)閉函數(shù) table setGridColor Color GRAY 星期之間的網(wǎng)格線是灰色的 table setColumnSelectionAllowed truetrue table setSelectionBackground Color BLACK 當(dāng)選定某一天時(shí)這一天背景黑 色 精品文檔 88歡迎下載 table setSelectionForeground Color GREEN 選定的日期字體是綠色的 table setBackground newnew Color 184 207 229 日期顯示表格顏色淺藍(lán)色 table setFont newnew Font 黑體 Font BOLD 24 日期數(shù)字字體格式 table setRowHeight 30 表格的高度 Year addActionListener thisthis 可輸入年份的文本框 month addActionListener this 可輸入年份的文本框 為各個(gè) 按鈕添加監(jiān)聽函數(shù) bLastYear addActionListener thisthis bNextYear addActionListener thisthis bLastMonth addActionListener thisthis bNextMonth addActionListener thisthis 將按鈕添加到 String str 1 2 3 4 5 6 7 8 9 10 11 12 comb newnew JComboBox str p1 add bLastYear p1 add Year 年份輸入文本框 p1 add jla p1 add month 年份輸入文本框 p1 add jla1 p1 add bNextYear p1 add bLastMonth p1 add jtfMonth p1 add bNextMonth p1 add com p1 add comb p2 setLayout newnew FlowLayout p2 add p4 BorderLayout EAST p2 add sp BorderLayout CENTER 精品文檔 99歡迎下載 p2 add p5 BorderLayout WEST p3 add l p3 add lt thisthis add p3 BorderLayout SOUTH thisthis add p2 BorderLayout CENTER thisthis add p1 BorderLayout NORTH String strDate DateFormat getDateInstance format newnew java util Date split cal set Integer parseInt strDate 0 Integer parseInt strDate 1 1 0 showCalendar Integer parseInt strDate 0 Integer parseInt strDate 1 cal jtfMonth setEditable falsefalse 設(shè)置月份的文本框?yàn)椴豢删庉?Year setText strDate 0 month setText strDate 1 comb setToolTipText strDate 1 comb addItemListener newnew ItemListener publicpublic voidvoid itemStateChanged ItemEvent e jtfMonth setText String comb getSelectedItem month setText String comb getSelectedItem intint m y trytry 控制輸入的年份正確 異??刂?ifif Year getText length 4 throwthrow newnew NumberFormatException y Integer parseInt Year getText m Integer parseInt jtfMonth getText 精品文檔 1010歡迎下載 catchcatch NumberFormatException ex JOptionPane showMessageDialog this 請輸入 4 位 0 9 的數(shù)字 年份有誤 JOptionPane ERROR MESSAGE returnreturn forfor intint i 0 i lastTime 1 i dtm removeRow 0 cal set y m 1 0 showCalendar y m cal jtfMonth setText 1 month setText 1 thisthis setBounds 200 200 700 320 thisthis setResizable falsefalse thisthis setVisible truetrue publicpublic staticstatic voidvoid main String args newnew wannianli publicpublic voidvoid showCalendar intint localYear intint localMonth Calendar cld intint Days getDaysOfMonth localYear localMonth cld get Calendar DAY OF WEEK 2 精品文檔 1111歡迎下載 Object ai newnew Object 7 lastTime 0 forfor intint i cld get Calendar DAY OF WEEK 1 i Days i ai i 7 String valueOf i cld get Calendar DAY OF WEEK 2 ifif i 7 6 dtm addRow ai ai newnew Object 7 lastTime dtm addRow ai publicpublic intint getDaysOfMonth intint year intint Month 顯示所選月份的 天數(shù) ifif Month 1 Month 3 Month 5 Month 7 Month 8 Month 10 Month 12 returnreturn 31 ifif Month 4 Month 6 Month 9 Month 11 returnreturn 30 ifif year 4 0 elseelse returnreturn 28 publicpublic voidvoid actionPerformed ActionEvent e ifif e getSource Year e getSource bLastYear e getSource bNextYear e getSource bLastMonth e getSource bNextMonth intint m y trytry 控制輸入的年份正確 異??刂?ifif Year getText length 4 throwthrow newnew NumberFormatException y Integer parseInt Year getText m Integer parseInt jtfMonth getText catchcatch NumberFormatException ex JOptionPane showMessageDialog thisthis 請輸入 4 位 0 9 的數(shù)字 年份有誤 JOptionPane ERROR MESSAGE returnreturn forfor intint i 0 i lastTime 1 i 精品文檔 1313歡迎下載 dtm removeRow 0 ifif e getSource bLastYear Year setText String valueOf y ifif e getSource bNextYear Year setText String valueOf y ifif e getSource bLastMonth ifif m 1 Year setText String valueOf y m 12 jtfMonth setText String valueOf m elseelse jtfMonth setText String valueOf m ifif e getSource bNextMonth ifif m 12 Year setText String valueOf y m 1 精品文檔 1414歡迎下載 jtfMonth setText String valueOf m elseelse jtfMonth setText String valueOf m cal set y m 1 0 showCalendar y m cal month setText String valueOf m comb setToolTipText String valueOf m 五 軟件測試 圖 1 界面圖 精品文檔 1515歡迎下載 圖 2 界面圖 下拉選擇 2 月份 六 課程設(shè)計(jì)總結(jié) 本次 Java 課程設(shè)計(jì)我們這組做的課題是萬年歷 剛開始拿到題目我們組員都不知 如何下手 經(jīng)過小組成員一起查找資料 并且開會(huì)討論 我們確定了設(shè)計(jì)的設(shè)計(jì)目標(biāo) 以及具體實(shí)現(xiàn)方式 包括如何將 Java 的思想運(yùn)用到實(shí)際系統(tǒng)的詳細(xì)設(shè)計(jì)之中 實(shí)驗(yàn)過程中 首先要將系統(tǒng)要實(shí)現(xiàn)的功能分為幾大模塊 然后每個(gè)組員分別完成 在此過程中使我加深了對 Java 的理解 以及如何進(jìn)行團(tuán)隊(duì)工作的劃分 學(xué)會(huì)發(fā)現(xiàn)各組 員的長處并將其發(fā)揮出來 雖然大家沒怎么學(xué)過 Java 但大家都有 C 語言基礎(chǔ) 所以 通過努力實(shí)驗(yàn) 進(jìn)一步培養(yǎng)我們利用 Java 語言進(jìn)行編程和調(diào)試程序的能力 同時(shí)使我 們能夠?qū)W會(huì)將 C 語言與 Java 語言結(jié)合起來編寫較復(fù)雜具有實(shí)際意義和算法復(fù)雜度較小 的程序 與此同時(shí)熟練掌握 Java 語言的編輯 編譯 調(diào)試程序 并將算法轉(zhuǎn)變?yōu)槌绦?實(shí)現(xiàn) 正確理解各種數(shù)據(jù)結(jié)構(gòu)的邏輯特性和存儲(chǔ)表示和基本操作的算法實(shí)現(xiàn) 掌握算 法的時(shí)間分析和空間分析的技術(shù) 針對問題的特點(diǎn)選擇合適的數(shù)據(jù)結(jié)構(gòu) 設(shè)計(jì)實(shí)用高 效的算法 提高大家的算法設(shè)計(jì)的能力和動(dòng)手實(shí)驗(yàn)的技能 通過這次課程設(shè)計(jì) 使我靈活應(yīng)用所學(xué) Java 知識 獨(dú)立完成問題分析 結(jié)合數(shù)據(jù) 結(jié)構(gòu)理論知識 編寫程序求解指定問題 初步掌握軟件開發(fā)過程的問題分析 系統(tǒng)設(shè) 計(jì) 程序編碼 測試等基本方法和技能 提高綜合運(yùn)用所學(xué)的理論知識和方法獨(dú)立分 析和解決問題的能力 并用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 經(jīng)濟(jì)利益與社會(huì)責(zé)任的協(xié)調(diào)試題及答案
- Java開發(fā)中的常見問題試題及答案
- 人工智能技術(shù)對傳統(tǒng)行業(yè)的變革試題及答案
- 行政法學(xué)的學(xué)術(shù)研究與實(shí)踐相結(jié)合的策略試題及答案
- 2025標(biāo)準(zhǔn)的產(chǎn)品買賣合同模板
- 組建公司合作協(xié)議書模板
- 企業(yè)戰(zhàn)略與最佳實(shí)踐試題及答案
- 行政管理科研方法論試題及答案
- 【舟山】2025年浙江舟山市定海區(qū)部分事業(yè)單位公開招聘工作人員20人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 2025購買商品房定金合同范本
- 《新疆精河縣烏蘭達(dá)坂脈石英礦資源儲(chǔ)量核實(shí)報(bào)告》礦產(chǎn)資源儲(chǔ)量
- 防雷和接地安裝施工組織方案
- 管理學(xué)原理第六章 指揮課件
- 工序標(biāo)準(zhǔn)工時(shí)及產(chǎn)能計(jì)算表
- 消防安全知識宣傳-主題班會(huì)課件(共24張PPT)
- 生產(chǎn)中的七大浪費(fèi)(PPT35頁)
- YY∕T 0617-2021 一次性使用人體末梢血樣采集容器
- 《漢服文化介紹》PPT課件(完整版)
- 5以內(nèi)的加減法(可直接打印)
- 車駕管知識題庫查驗(yàn)業(yè)務(wù)知識試題庫(附答案)
- 鋼結(jié)構(gòu)焊接變形的火焰矯正方法
評論
0/150
提交評論