java课程设计报告_JAVA课程设计报告_完整版.doc
PAGE
PAGE 17
《JAVA面向?qū)ο蟪绦蛟O(shè)計》
課 程 設(shè) 計 報 告
(2011-2012學年第2學期)
系 別:
廈門理工學院計算機科學與技術(shù)系
專業(yè)名稱:
10級網(wǎng)絡(luò)工程1班
課程設(shè)計科目:
《JAVA面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計
學生姓名:
學 號:
指導教師:
崔建峰
成 績:
完成時間:
2012年7月6日
題目JAVA程序課程設(shè)計
任務(wù)一 手機號碼檢測器
(一)設(shè)計任務(wù)與目標
任務(wù):
手機號碼是由11位數(shù)字構(gòu)成,用戶在輸入手機號碼時經(jīng)常混亂輸入若干位數(shù)字或字母,要求你編寫一個程序檢測用戶所輸入的手機號碼是否符合規(guī)則。
要求目標:
檢測所輸入的手機號碼是否是11位
檢測每一位是否都為數(shù)字。
分析論證:
本題目要求對用戶輸入的手機號碼進行檢測,判斷輸入的正確性。曾經(jīng)有做過類似字符比較的題目,可以借鑒。將字符的比較運用進來,把用戶的輸入字符和正確的進行比較。但是必須滿足多次輸入和錯誤提醒。同時還可以添加提示錯誤的位置和錯誤字符是什么。
程序正確運行時可以滿足以上功能,基本可以達到題目要求了。
(二)方案設(shè)計與論證
為了滿足多次輸入的要求,將提示和輸入的操作放在一個循環(huán)體中,我采用了do_whiele()循環(huán)。每次輸入結(jié)束后提示是否繼續(xù)輸入。
在循環(huán)中逐步對輸入的號碼位數(shù)和字符類型進行檢測。位數(shù)可以分超出和不足,并均給出錯誤提示。如果位數(shù)滿足要求后對手機號碼類型進行檢測。一般手機號在0~9之間,所以不滿足的字符將報錯。通過將輸入的整個字符串調(diào)用charAt(int i)方法對字符串逐位比較。
本程序的特點在于可以滿足了多次輸入和錯誤字符的顯示(內(nèi)容和位置)。
在程序的調(diào)試過程中,有過多次輸入正確的號碼也會報錯(還會報錯0位錯誤),這是因為記錄錯誤位子的變量放在錯誤條件下并且未在循環(huán)體中初始化為0。最終解決了此問題。
(三)程序框圖或流程圖,程序清單與調(diào)用關(guān)系
(四)程序運行的測試與分析
實現(xiàn)了多次輸入和錯誤提示,可以判斷輸入的號碼的錯誤位置及字符,錯誤類型,滿足了設(shè)計構(gòu)思要求。最終結(jié)果如下圖:
實驗結(jié)果截圖:
(五)結(jié)論心得
實驗過程中對于判斷條件的選擇出現(xiàn)了問題,開始時覺得要對輸入的字符一個一個的比較,這樣增加了難度也不方便實現(xiàn)。后面改成了將用戶輸入完成后的全部字符串當做整體后再來逐位比較。如果能做成手機外形的面板并能一個一個的判斷,只要輸入錯誤字符馬上提示,那功能將更加完善。
任務(wù)二 撲克牌
(一)設(shè)計任務(wù)與目標
任務(wù):
設(shè)計一個Card類代表撲克牌,每張牌都有自己的花色和大小。創(chuàng)建一個DeskOfCards類保存54張撲克牌,設(shè)計洗牌、發(fā)一張牌、報告剩余牌數(shù)的方法。創(chuàng)建main方法測試你的程序。
要求目標:
實現(xiàn)洗牌和發(fā)牌。
顯示當前片面和剩余牌數(shù)。
分析論證:
本題目需要用到數(shù)組來存儲一副紙牌,并需要用到隨機數(shù)來代替隨機發(fā)牌,曾經(jīng)做過類似工作。現(xiàn)在需要將產(chǎn)生的隨機數(shù)和字牌的大小和花色聯(lián)系起來,可以通過數(shù)組來實現(xiàn)。同時還要達到可以循環(huán)發(fā)牌,并有發(fā)牌信息顯示。
(二)方案設(shè)計與論證
根據(jù)題目要求,我準備在類Card中用數(shù)組存儲一副牌(52張),考慮到撲克牌有花色和大小并都是固定的,所以用了兩個字符串數(shù)組分別初始化花色和大小,再利用下標操作把花色和大小組合在一起,存放另在一個數(shù)組里(最終的紙牌組)。這樣就有了一副完整紙牌了。
再創(chuàng)建另一個類DeskOfCard創(chuàng)建兩個Card對象,通過在循環(huán)里的條件判斷對對象進行操作:洗牌時就將紙牌數(shù)組和剩余牌數(shù)重新初始化(利用多余的那個對象)。發(fā)牌時用到隨機數(shù)產(chǎn)生器,產(chǎn)生從0到51的整數(shù)和數(shù)組小標對應(yīng),每個元素代表一張牌。
測試過程中出現(xiàn)了無法顯示牌面的問題,通過對象引用找不到具體的紙牌,后來在Card類中添加了getCard(int i)方法返回一張牌,實現(xiàn)了發(fā)牌和剩余牌數(shù),并可以多次發(fā)牌。
(三)程序框圖或流程圖,程序清單與調(diào)用關(guān)系
(四)程序運行的測試與分析
從測試過程中達到了分析時的目的要求,實現(xiàn)了洗牌和發(fā)牌(顯示牌面和剩余數(shù)量)。最終結(jié)果如下圖:
實驗結(jié)果截圖:
(五)結(jié)論心得
實驗過程中,開始沒有將紙牌的大小和花色分開來定義,導致需要初始化52張牌,后倆采用了循環(huán)體將花色和大小進行組合達到了目的的同時又簡化了代碼,提高了可讀性。本來希望最后的結(jié)果可以通過圖片的方式顯示紙牌,但紙牌的原圖片兩太大,實現(xiàn)過于繁瑣,最終采用了簡單的文字表示。希望今后有機會近一步完善,達到預(yù)期效果。
任務(wù)三 計算器
(一)設(shè)計任務(wù)與目標
任務(wù):
參考第六章的實驗題Telephone Keypad界面設(shè)計一個計算器。
要求目標:
實現(xiàn)輸入數(shù)字和運算字符并輸出結(jié)果
結(jié)
總結(jié)
以上是生活随笔為你收集整理的java课程设计报告_JAVA课程设计报告_完整版.doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [css] 你会经常用到伪元素吗?一般
- 下一篇: [js] 微信的JSSDK都有哪些内容?