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