版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGE學(xué)號:2011810971杭州師范大學(xué)錢江學(xué)院課程設(shè)計題目萬年歷學(xué)院錢江學(xué)院專業(yè)信電分院計算機科學(xué)與技術(shù)班級計算機1101姓名崔伊平指導(dǎo)教師王李冬2013年9月20日目錄一.概述 …………..1二.總體方案設(shè)計 …………………2三.詳細設(shè)計 ………………………3四.最終輸出 ………………………7五.課程設(shè)計總結(jié) ………………….8參考文獻 …………...9PAGE9一、概述課程設(shè)計的目的通過顯示年日歷程序的設(shè)計,培養(yǎng)學(xué)生綜合利用java語言進行程序設(shè)計的能力,加強函數(shù)的運用及學(xué)生對軟件工程方法的初步認識,提高軟件系統(tǒng)分析能力和程序文檔建立、歸納總結(jié)的能力。通過本項課程設(shè)計,可以培養(yǎng)獨立思考、綜合運用所學(xué)有關(guān)相應(yīng)知識的能力,能更好的鞏固《java語言程序設(shè)計》課程學(xué)習(xí)的內(nèi)容,掌握工程軟件設(shè)計的基本方法,強化上機動手編程能力,闖過理論與實踐相結(jié)合的難關(guān)!更加了解了java語言的好處和其可用性!課程設(shè)計的要求2.1輸入查詢的年份與月份,單擊“更新”按扭,則可得到相應(yīng)的日歷。本實驗是對圖形用戶界面,布局管理器的綜合運用。要掌握APPLET容器中添加組件的方法,理解JAVA的事件處理機制,編寫?yīng)毩⒌倪\行窗口。2.2輸出形式使用獨立的運行窗口進行顯示。界面主要由兩部分組成——查詢輸入部分和結(jié)果顯示部分。查詢輸入部分包括兩個文本域,一個用于輸入年份:一個用于選擇月份:一個更新按扭,用來觸發(fā)查詢事件。二總體方案設(shè)計程序開發(fā)環(huán)境開發(fā)環(huán)境:eclipse系統(tǒng)環(huán)境:windowsxp/7設(shè)計工具:Microsoftoffice2003整體流程圖開始開始輸入年月判斷該月天數(shù)輸入判斷信息判斷該月第一天是星期幾輸出該月日歷圖1流程圖功能模塊圖萬年歷系統(tǒng)萬年歷系統(tǒng)初始化繪制日期監(jiān)聽器圖2結(jié)構(gòu)圖三.詳細設(shè)計3.1導(dǎo)入的包importjava.applet.*;importjava.awt.*;importjava.awt.event.*;importjava.util.*;Applet的初始化publicvoidinit(){LabelL1=newLabel("輸入年份"); LabelL2=newLabel("輸入月份"); TextFieldF1=newTextField(5); TextFieldF2=newTextField(5); ButtonB1=newButton("查詢"); intarr=newint[12];add(L1);add(F1);add(L2);add(F2);add(B1);Datedate=newDate();F1.setText(String.valueOf(date.getYear()+1900));F2.setText(String.valueOf(date.getMonth()+1));B1.addActionListener(this);arr[0]=arr[2]=arr[4]=arr[6]=arr[7]=arr[9]=arr[11]=31;arr[3]=arr[5]=arr[8]=arr[10]=30;date.setDate(1);//設(shè)置每月第一天var=date.getDay();//得到每月最后一天}3.3監(jiān)聽器publicvoidactionPerformed(ActionEvente){intx=Integer.parseInt(F1.getText()),i=Integer.parseInt(F2.getText())-1,s=0;if(F1.getText().isEmpty()||F2.getText().isEmpty()) { JOptionPane.showMessageDialog(null,"輸入不能為空!");}Datedate=newDate();date.setYear(x-1900);date.setMonth(i);date.setDate(1);var=date.getDay();repaint();}paint()publicvoidpaint(Graphicsg){intxpos,ypos;//arr[0]=arr[2]=arr[4]=arr[6]=arr[7]=arr[9]=arr[11]=31;//arr[3]=arr[5]=arr[8]=arr[10]=30;intx=Integer.parseInt(F1.getText()),i=Integer.parseInt(F2.getText())-1;if((x%4==0&&x%100!=0)||(x%400==0))arr[1]=29;elsearr[1]=28;g.drawString("星期一",50,50);g.drawString("星期二",100,50);g.drawString("星期三",150,50);g.drawString("星期四",200,50);g.drawString("星期五",250,50);g.drawString("星期六",300,50);g.drawString("星期日",350,50);ARR=newString[arr[i]];intj=0,k=1;while(k<=arr[i]){ARR[j]=String.valueOf(k);//獲得每個月日期k++;j++;}intline=0;for(intm=0;m<ARR.length;m++){ //設(shè)置日期顯示的位置ypos=50+50*(line+1);xpos=(var*50+50*(m%7))%350;if(xpos==0){xpos=350;line++;}g.drawString(ARR[m],xpos,ypos);}}}四.最終輸出1.輸入年月界面2.顯示界面輸入為空情況五.課程設(shè)計總結(jié)在最初設(shè)計這個程序的時候走了不少彎路,一開始對Applet程序沒有深入理解,就把初始化部分寫到構(gòu)造函數(shù)里去了,后來在老師的提醒下,自己修改過來了。我認為這個程序并的難點有兩個:一個是如何將萬年歷漂亮的排版出來,一個是算出某年某月第一天是星期幾。處理排版我時想到了Applet程序里的drawString()方法,通過設(shè)置X軸的位置來顯示日期位置,每7天換一行。至于算出某年某月第一天是星期幾,我第一個想到是和1900年1月1日去比較,先查出該天是星期幾,再算出輸入的日期比該天晚多少天就可以很輕松的知道想要的答案。但是如果輸入的時間早于1900年,那就要出問題了。于是我在上網(wǎng)查資料的時候發(fā)現(xiàn)了有setDay()和getDay()這兩個方法,可以直接用來獲取每月第一天,這樣就大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024離婚財產(chǎn)分割協(xié)議公證與子女撫養(yǎng)權(quán)
- 2025年度水利工程招標投標廉潔保證協(xié)議3篇
- 2024物流公司與國際快遞公司之間的國際快遞服務(wù)合同
- 2024資產(chǎn)包居間合同協(xié)議書范本
- 2025年度智能倉儲物流園區(qū)物業(yè)管理合同4篇
- 2025年度綠色能源風(fēng)力發(fā)電項目承包合同范本3篇
- 2025年度生態(tài)旅游區(qū)樹木承包合同范本4篇
- 2024經(jīng)濟合同范文集合
- 2025年度個人房屋轉(zhuǎn)租中介服務(wù)協(xié)議4篇
- 2025年度綠色校園豬肉配送服務(wù)合同3篇
- 安徽省淮南四中2025屆高二上數(shù)學(xué)期末統(tǒng)考模擬試題含解析
- 2025屆重慶南開中學(xué)數(shù)學(xué)高二上期末教學(xué)質(zhì)量檢測試題含解析
- 2024年重點信訪人員穩(wěn)控實施方案
- 保險專題課件教學(xué)課件
- 常見癥狀腹痛課件
- 《生活垃圾的回收與利用》(教案)-2024-2025學(xué)年四年級上冊綜合實踐活動教科版
- 汽車租賃行業(yè)的利潤空間分析
- 電商代運營合作協(xié)議書2024年
- 2024年中考英語閱讀理解D篇真題匯編(附答案)0117
- 牛津上海版小學(xué)英語一年級上冊同步練習(xí)試題(全冊)
- 多數(shù)據(jù)中心數(shù)據(jù)同步保存
評論
0/150
提交評論