




已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精品文檔 1 歡迎下載 河北科技大學(xué)河北科技大學(xué) 課程設(shè)計(jì)報(bào)告 學(xué)生姓名 學(xué) 號(hào) 專業(yè)班級(jí) 課程名稱 Java 程序設(shè)計(jì)課程設(shè)計(jì) 學(xué)年學(xué)期 2 014 2 015 學(xué)年第 2 學(xué)期 指導(dǎo)教師 劉偉 2 0 年 月 精品文檔 2 歡迎下載 課程設(shè)計(jì)成績?cè)u(píng)定表課程設(shè)計(jì)成績?cè)u(píng)定表 學(xué)生姓名學(xué) 號(hào)成績 專業(yè)班級(jí)起止時(shí)間 設(shè)計(jì)題目 指 導(dǎo) 教 師 評(píng) 語 學(xué)習(xí)態(tài)度 端正 較端正 一般 較差 學(xué)習(xí)紀(jì)律 好 較好 一般 較差 出勤情況 好 較好 一般 較差 程序設(shè)計(jì) 好 較好 一般 較差 動(dòng)手能力 強(qiáng) 較強(qiáng) 一般 較差 團(tuán)隊(duì)精神 好 較好 一般 較差 創(chuàng)新意識(shí) 強(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 請(qǐng)選擇月份 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 請(qǐng)輸入 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 請(qǐng)輸入 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è)組員分別完成 在此過程中使我加深了對(duì) 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ù) 針對(duì)問題的特點(diǎn)選擇合適的數(shù)據(jù)結(jié)構(gòu) 設(shè)計(jì)實(shí)用高 效的算法 提高大家的算法設(shè)計(jì)的能力和動(dòng)手實(shí)驗(yàn)的技能 通過這次課程設(shè)計(jì) 使我靈活應(yīng)用所學(xué) Java 知識(shí) 獨(dú)立完成問題分析 結(jié)合數(shù)據(jù) 結(jié)構(gòu)理論知識(shí) 編寫程序求解指定問題 初步掌握軟件開發(fā)過程的問題分析 系統(tǒng)設(shè) 計(jì) 程序編碼 測試等基本方法和技能 提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分 析和解決問題的能力 并用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)金流量管理與評(píng)估計(jì)劃
- 拆除重點(diǎn)施工方案
- 法諾集團(tuán)代理協(xié)議書
- 資源配置優(yōu)化的管理技巧計(jì)劃
- 如何應(yīng)對(duì)職場壓力的個(gè)人計(jì)劃
- 母豬飼料購銷協(xié)議書
- 收購婚宴場地協(xié)議書
- 民事調(diào)解和解協(xié)議書
- 打人協(xié)商處理協(xié)議書
- 母親被害賠償協(xié)議書
- 公司文件會(huì)審表
- (中職)體育與健康第七章 籃球運(yùn)動(dòng)課件
- 2、工程工質(zhì)量保證體系框圖
- 地鐵工程車輛段路基填方施工方案
- 路基路面排水設(shè)計(jì)(配圖說明共50頁)
- YY∕T 0617-2021 一次性使用人體末梢血樣采集容器
- 有關(guān)種子農(nóng)藥化肥購銷合同模板
- 山東水利定額使用說明
- 鋼結(jié)構(gòu)焊接變形的火焰矯正方法
- 蒸汽鍋爐運(yùn)行記錄表最新版
- 園林綠化工程質(zhì)量檢查驗(yàn)收記錄表
評(píng)論
0/150
提交評(píng)論