版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、傳播優(yōu)秀word版文檔 ,希望對(duì)您有幫助,可雙擊去除!java 程序設(shè)計(jì)課程設(shè)計(jì)專業(yè)班級(jí):2013級(jí)計(jì)算機(jī)科學(xué)與技術(shù)一班 目 錄摘要1一、概述21.需求分析22.任務(wù)分析3二、總體設(shè)計(jì)31.設(shè)計(jì)要求32.設(shè)計(jì)任務(wù)33.設(shè)計(jì)思路4三、程序類41.類addresslistsystem41.1 繼承與jframe類41.2 定義組件41.3 arraylist52.note類52.1實(shí)現(xiàn)serializable接口52.2定義類5四、程序的功能51.錄入聯(lián)系人信息51.1聯(lián)系人信息表51.2實(shí)現(xiàn)添加聯(lián)系人方法62.查詢聯(lián)系人62.1查詢的方法62.2實(shí)現(xiàn)查詢聯(lián)系人方法63.刪除指定的聯(lián)系人信息63.
2、1刪除的方法63.2實(shí)現(xiàn)刪除聯(lián)系人方法64.退出通訊錄管理系統(tǒng)7五、程序運(yùn)行壞境7六、系統(tǒng)測(cè)試71.通訊錄管理系統(tǒng)運(yùn)行圖形用戶界面72.聯(lián)系人信息添加82.聯(lián)系人信息查找93.刪除指定聯(lián)系人的信息104.退出通訊錄管理系統(tǒng)12七、結(jié)論121.結(jié)束語122.致謝133.參考文獻(xiàn)13附:14程序源代碼:14摘要隨著當(dāng)今世界經(jīng)濟(jì)的快速發(fā)展,通訊技術(shù)日益成熟,個(gè)人間的聯(lián)系增加,個(gè)人對(duì)自己聯(lián)系人信息的管理成為一個(gè)重要的環(huán)節(jié)。與此同時(shí),通訊錄便產(chǎn)生了。形形色色的關(guān)于通訊錄對(duì)的越來越方便著人們的生活。通訊錄管理軟件使用于同學(xué)、朋友等日常生活的聯(lián)系人進(jìn)行的相關(guān)的信息的編輯功能,便于用戶隨時(shí)查找所需要的聯(lián)系人的
3、所有信息。該通訊錄管理系統(tǒng)十分便捷,用戶可以通過它方便地進(jìn)行添加、查找、修改、刪除等基本通訊錄管理所需的功能。軟件操作窗口平時(shí)可以隱藏于屏幕邊緣,用戶鼠標(biāo)移至該處及顯示操作界面,用只需輸入關(guān)鍵詞(聯(lián)系人姓名)即可方便地查找所需的通訊錄信息。關(guān)鍵詞 java 通訊錄管理 簡(jiǎn)易快捷一、概述1.需求分析隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)達(dá)、全世界經(jīng)濟(jì)的快速發(fā)展,人們的日益繁多的交往使得我們之間的通訊更加頻繁,每個(gè)人的聯(lián)系方式會(huì)時(shí)常的更改,與之聯(lián)系的家人、朋友、同事等大量的通訊信息,通訊錄能夠?yàn)槲覀儙硭枰南嚓P(guān)信息。隨著科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)領(lǐng)域不斷取得新的研究成果。計(jì)算機(jī)在代替和延伸腦力勞動(dòng)方面發(fā)揮越來越重
4、要的作用,不僅在工業(yè)方面而且在高校的信息化建設(shè)中也越來越離不開計(jì)算機(jī)。通過計(jì)算機(jī)這個(gè)途徑,開發(fā)一個(gè)通訊錄管理系統(tǒng),用戶可以方便的自己電腦的通訊錄管理系統(tǒng),來隨時(shí)查閱所需要的信息,而擺脫傳統(tǒng)式筆記本或者電話簿等繁瑣不快捷的方式。通訊錄管理系統(tǒng)主要是實(shí)現(xiàn)方便的管理通訊錄管理,可以很好的進(jìn)行存儲(chǔ)用戶聯(lián)系方式以及一些簡(jiǎn)單的個(gè)人信息的實(shí)用管理系統(tǒng),大大減少了時(shí)間用于查找和處理等一些操作的過程。2.任務(wù)分析通訊錄管理系統(tǒng)將會(huì)為個(gè)人信息聯(lián)系的現(xiàn)代化管理提供一個(gè)良好的平臺(tái),它也是針對(duì)人們之間大量信息處理工作而開發(fā)的管理軟件,每個(gè)人的個(gè)人信息的統(tǒng)計(jì)和錄入功能,隨著人與人之間的交往更加頻繁,利用jdk1.7.0和
5、netbeans6.9.1軟件,設(shè)計(jì)并實(shí)現(xiàn)圖形用戶界面,其中管理自己聯(lián)系人信息管理,以提高我們辦事效率為目的,經(jīng)過多方面的思考與查詢,設(shè)計(jì)出通訊錄管理系統(tǒng)相應(yīng)的功能。通訊錄管理包含對(duì)聯(lián)系人信息輸入、查詢、維護(hù)和輸出等功能。二、總體設(shè)計(jì)1.設(shè)計(jì)要求通訊錄中包括一般通訊錄中的基本信息,也需要實(shí)現(xiàn)普通的檢索功能,通過將聯(lián)系人寫入文件,程序執(zhí)行時(shí),需要從文件中導(dǎo)入數(shù)據(jù),程序退出后再將數(shù)據(jù)文件保存到文件中。2.設(shè)計(jì)任務(wù)錄入聯(lián)系人信息查詢聯(lián)系人刪除指定的聯(lián)系人信息退出通訊錄管理系統(tǒng)3.設(shè)計(jì)思路一個(gè)程序的主類是進(jìn)入系統(tǒng),進(jìn)行圖形交互的界面設(shè)計(jì);通過建立使用arraylist動(dòng)態(tài)數(shù)組、結(jié)合文件輸入與輸出流的操
6、作方式,進(jìn)行添加、查找、刪除等;通過按鈕添加、查找、刪除、退出的addactionlistener()方法實(shí)現(xiàn)事件響應(yīng)。通過filedescriptor在標(biāo)準(zhǔn)輸入流上建立文件輸入流,然后通過鍵盤的輸入讀取數(shù)據(jù),并把讀取的數(shù)據(jù)到指定的文件“readfromkeyboard.txt”中,然后再建立文件的輸入流,通過filedescriptor在標(biāo)準(zhǔn)輸出流上建立的文件輸出流,將文件中的數(shù)據(jù)顯示在屏幕上。三、程序類1.類addresslistsystem1.1 繼承與jframe類通過導(dǎo)入javax.swing.*,然后才能使用jframe類,主類繼承使用1.2 定義組件jlabel title=ne
7、w jlabel("通訊錄管理");jlabel name=new jlabel("姓名");jlabel zip=new jlabel("郵政編碼");jlabel address=new jlabel("通信地址");jlabel telephone=new jlabel("電話號(hào)碼");jlabel mobile=new jlabel("手機(jī)號(hào)碼");jlabel email=new jlabel("email");jtextfield jtxtna
8、me=new jtextfield();jtextfield jtxtzip=new jtextfield();jtextfield jtxtaddr=new jtextfield();jtextfield jtxttel=new jtextfield();jtextfield jtxtmob=new jtextfield();jtextfield jtxtemail=new jtextfield();font font=new font("timersroman",font.bold,40);jbutton jbtadd=new jbutton("添加"
9、;);jbutton jbtfind=new jbutton("查找");jbutton jbtclear=new jbutton("清空");jbutton jbtexit=new jbutton("退出");arraylist al=new arraylist();1.3 arraylist動(dòng)態(tài)數(shù)組arraylist,能夠進(jìn)行動(dòng)態(tài)的增加和減少元素和靈活設(shè)置數(shù)組的大小,它本身實(shí)現(xiàn)了iocollection和ilist接口。arraylist al=new arraylist();聲明的同時(shí)創(chuàng)建了動(dòng)態(tài)數(shù)組al,后來程序中的添加、查找、
10、刪除、修改等都是通過對(duì)al操作來實(shí)現(xiàn)的。2.note類2.1實(shí)現(xiàn)serializable接口為需要被序列化對(duì)象就是以類note建立的對(duì)象實(shí)現(xiàn)serializable接口,該接口沒有要實(shí)現(xiàn)的方法,implements serializable只是為了標(biāo)注該對(duì)象是可被系列化的,然后使用一個(gè)輸出流來構(gòu)造一個(gè)對(duì)象,接著使用objectoutputstream對(duì)象的writeobject(object obj)方法就可以將參數(shù)為obj的對(duì)象寫出,要恢復(fù)的話則用輸入流。2.2定義類public string name;/姓名 public string zip;/郵政編碼 public string ad
11、dress;/通信地址 public string telephone;/電話號(hào)碼 public string mobile;/手機(jī)號(hào)碼 public string email;/email public note()/默認(rèn)的構(gòu)造函數(shù)四、程序的功能1.錄入聯(lián)系人信息1.1聯(lián)系人信息表表1 聯(lián)系人的信息表姓名郵政編碼通信地址電話號(hào)碼手機(jī)號(hào)碼email李永蘭223532安徽省蚌埠龍子湖區(qū)677689188956222121910924543孫乃香300171天津市河?xùn)|區(qū)12345618895685078118418861李萍萍200030上海市徐匯區(qū)234567188956018878797905
12、71陳臣050000河北省石家莊市34567818895684770632748498黃智超231200安徽省合肥市肥西縣456789188956067162418968369劉姣210000江蘇省南京市345980132855265501948180943葉曄100010北京市東城區(qū)678905188956374581491641068進(jìn)入程序運(yùn)行界面后,單擊按鈕“添加”,依次將上表1中的聯(lián)系人添加進(jìn)入文件“note.dat”。1.2實(shí)現(xiàn)添加聯(lián)系人方法jbtadd.addactionlistener(new actionlistener()public void actionperforme
13、d(actionevent e);2.查詢聯(lián)系人2.1查詢的方法在姓名標(biāo)簽里輸入“xxx”,單擊下按鈕查詢,就在圖形用戶界面上顯示出相應(yīng)的信息。2.2實(shí)現(xiàn)查詢聯(lián)系人方法jbtfind.addactionlistener(new actionlistener()public void actionperformed(actionevent e);3.刪除指定的聯(lián)系人信息3.1刪除的方法先在姓名標(biāo)簽中寫入“xxx”(需要?jiǎng)h除人的姓名),單擊按鈕“查詢”后,顯示出的信息,然后單擊按鈕“清除”,將xxx聯(lián)系人的信息刪除。3.2實(shí)現(xiàn)刪除聯(lián)系人方法jbtclear.addactionlistener(ne
14、w actionlistener() public void actionperformed(actionevent e);4.退出通訊錄管理系統(tǒng)jbtexit.addactionlistener(new actionlistener() public void actionperformed(actionevent e);五、程序運(yùn)行壞境windows 7操作系統(tǒng)、java jdk1.7.0_0.02和netbeans6.9.1集成開發(fā)環(huán)境六、系統(tǒng)測(cè)試1.通訊錄管理系統(tǒng)運(yùn)行圖形用戶界面2.聯(lián)系人信息添加添加完每個(gè)聯(lián)系人的信息后,按鈕“添加”是被激活狀態(tài)的,若該聯(lián)系人已經(jīng)添加過了,將會(huì)出現(xiàn)“錯(cuò)
15、誤提示”對(duì)話框,內(nèi)容為“已經(jīng)存在此記錄”單擊確定后,通訊錄管理系統(tǒng)界面各個(gè)標(biāo)簽后的內(nèi)容將自動(dòng)清空。若不小心忘記添加姓名標(biāo)簽內(nèi)容,則會(huì)彈出“錯(cuò)誤提示”對(duì)話框,內(nèi)容為“無法添加名字為空的記錄”。2.聯(lián)系人信息查找若制定查找姓名為“李永蘭”的聯(lián)系人信息,在姓名標(biāo)簽文本里輸入“李永蘭”,單擊按鈕“查找”按鈕,就出現(xiàn)如下界面:若輸入的姓名“xxx”,文件中不含有的話,系統(tǒng)會(huì)彈出一個(gè)“溫馨提示”對(duì)話框,內(nèi)容為“無此記錄哦”。單擊“確定”按鈕或者關(guān)閉,將返回圖形用戶界面。出現(xiàn)以下界面:3.刪除指定聯(lián)系人的信息若刪除聯(lián)系人“李萍萍”的通訊錄信息,首先在姓名標(biāo)簽文本里輸入“李萍萍”,按下按鈕“查找”按鈕,顯示李
16、萍萍聯(lián)系人的信息;如下圖圖形用戶界面:然后鼠標(biāo)單擊“清空”按鈕,就完成刪除“李萍萍”聯(lián)系人的功能。完成此步驟后,“清空”按鈕被激活。如下圖圖形用戶界面所示:4.退出通訊錄管理系統(tǒng)鼠標(biāo)單擊按鈕“退出”,將關(guān)閉圖形用戶界面,并且退出系統(tǒng)。七、結(jié)論1.結(jié)束語通過這次通訊錄管理系統(tǒng)的設(shè)計(jì),我了解了更多關(guān)于軟件開發(fā)的基礎(chǔ)知識(shí),了解了開發(fā)一項(xiàng)軟件的難度,但是此次的課程設(shè)計(jì)時(shí)間有限,而且本人才疏學(xué)淺,有待更加進(jìn)行學(xué)習(xí)和提高。通訊錄管理軟件開發(fā)項(xiàng)目的實(shí)施執(zhí)行過程中遇到了很多的難題,但總的說來還算成功,該軟件的各種功能性能都能滿足設(shè)計(jì)規(guī)格需求的要求,也能夠基本滿足用戶的需求。而事實(shí)上,該軟件產(chǎn)品并不十分完美。沒
17、有能夠?qū)崿F(xiàn):對(duì)輸入內(nèi)容進(jìn)行判別,檢查出錯(cuò)誤或是不合理規(guī)則的輸入,并進(jìn)行對(duì)異常進(jìn)行處理;對(duì)聯(lián)系人信息保存到數(shù)據(jù)文件,并可以在下一次執(zhí)行程序時(shí)繼續(xù)使用;還可以給文件添加索引;還有一些創(chuàng)新的功能,比如為通訊錄管理系統(tǒng)添加登錄界面,連接數(shù)據(jù)文件進(jìn)行登錄驗(yàn)證等。 本通訊錄管理系統(tǒng)軟件需要進(jìn)一步改進(jìn)和提高開發(fā)技術(shù),完善系統(tǒng)功能。2.致謝在本次課程設(shè)計(jì)過程中,從馬程老師給的課程設(shè)計(jì)題目,我有認(rèn)真的完成此次任務(wù),但是其中出現(xiàn)了很多的問題,老師您也有細(xì)心地細(xì)心指導(dǎo),使我對(duì)計(jì)算機(jī)編程有了更深刻的了解和認(rèn)識(shí),學(xué)到了在此表示衷心地感謝。在整個(gè)過程中,我在圖書館圖書室中查閱了大量的有關(guān)書籍,并借閱管理系統(tǒng)的資
18、料和網(wǎng)站,在自己的努力和朋友、同學(xué)的鼓勵(lì)下,終于完成了本次課程設(shè)計(jì)。在此也感謝朋友與同學(xué)的支持。在為期兩周的課程設(shè)計(jì)過程中,使我熟悉了java編程語言,但也充分展現(xiàn)自己的不足方面還很多,希望在以后的學(xué)習(xí)生活當(dāng)中努力學(xué)習(xí),積極參與實(shí)踐,提高編程的水平,為成為計(jì)算機(jī)人才打好基礎(chǔ)。3.參考文獻(xiàn)1宋波.java程序設(shè)計(jì)基于jdk6和netbeans實(shí)現(xiàn).北京:清華大學(xué)出版社,20132宋波.java應(yīng)用開發(fā)教程.北京:電子工業(yè)出版社,20023宋波,董曉梅.java應(yīng)用設(shè)計(jì).北京:人民郵電出版社,20024patrick keegan,ludovic champenois等著,吳玉亮(譯).netbe
19、ans ide中文版用戶指南。北京:機(jī)械工業(yè)出版社,20065朗波.java語言程序設(shè)計(jì).北京:清華大學(xué)出版社,2005附:程序源代碼:import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;class note implements serializable public string name; public string zip; public string address; public string telephone; public stri
20、ng mobile; public string email; public note()public class addresslistsystem extends jframe jlabel title=new jlabel("通訊錄管理");jlabel name=new jlabel("姓名");jlabel zip=new jlabel("郵政編碼");jlabel address=new jlabel("通信地址");jlabel telephone=new jlabel("電話號(hào)碼"
21、;);jlabel mobile=new jlabel("手機(jī)號(hào)碼");jlabel email=new jlabel("email");jtextfield jtxtname=new jtextfield();jtextfield jtxtzip=new jtextfield();jtextfield jtxtaddr=new jtextfield();jtextfield jtxttel=new jtextfield();jtextfield jtxtmob=new jtextfield();jtextfield jtxtemail=new jtex
22、tfield();font font=new font("timersroman",font.bold,40);jbutton jbtadd=new jbutton("添加");jbutton jbtfind=new jbutton("查找");jbutton jbtclear=new jbutton("清空");jbutton jbtexit=new jbutton("退出");arraylist al=new arraylist();addresslistsystem(string s)su
23、per(s);container cp=getcontentpane(); cp.setbackground(color.pink);cp.setlayout(null);title.setfont(font); title.setforeground(color.cyan);title.setbounds(130,20,300,60);name.setbounds(50,100,75,25);zip.setbounds(50,150,75,25);address.setbounds(50,200,75,25);telephone.setbounds(50,250,75,25);mobile.
24、setbounds(50,300,75,25);email.setbounds(50,350,75,25);jtxtname.setbounds(150,100,100,25);jtxtzip.setbounds(150,150,100,25);jtxtaddr.setbounds(150,200,250,25);jtxttel.setbounds(150,250,150,25);jtxtmob.setbounds(150,300,150,25);jtxtemail.setbounds(150,350,250,25);jbtadd.setbounds(50,400,75,25);jbtfind
25、.setbounds(150,400,75,25);jbtclear.setbounds(250,400,75,25);jbtexit.setbounds(350,400,75,25);jbtadd.addactionlistener(new actionlistener()public void actionperformed(actionevent e)if(jtxtname.gettext().equalsignorecase("")joptionpane.showmessagedialog(null,"無法添加名字為空的記錄","錯(cuò)誤提
26、示",joptionpane.information_message);jtxtname.settext("");jtxtzip.settext("");jtxtaddr.settext("");jtxttel.settext("");jtxtmob.settext("");jtxtemail.settext("");return; note note=new note(); =jtxtname.gettext(); note.zip=jtxtzi
27、p.gettext(); note.address=jtxtaddr.gettext(); note.telephone=jtxttel.gettext(); note.mobile=jtxtmob.gettext(); note.email=jtxtemail.gettext(); try objectinputstream in=new objectinputstream(new fileinputstream("note.dat"); al=(arraylist)in.readobject(); in.close(); catch(exception ex) syst
28、em.out.println( "添加信息時(shí)文件輸入有誤哦"); try objectoutputstream out=new objectoutputstream(new fileoutputstream("note.dat",true); note temp=new note(); int i; for(i=0;i<al.size();i+)temp=(note)al.get(i);if(.equalsignorecase(jtxtname.gettext() break; if(!al.isempty()&&
29、i!=al.size()joptionpane.showmessagedialog(null,"已經(jīng)存在此記錄","錯(cuò)誤提示",joptionpane.information_message); else al.add(note); out.writeobject(al); out.close(); catch(exception ex) system.out.println("添加信息時(shí)文件輸出有誤哦"); jtxtname.settext(""); jtxtzip.settext("");
30、jtxtaddr.settext(""); jtxttel.settext(""); jtxtmob.settext(""); jtxtemail.settext(""); ); jbtfind.addactionlistener(new actionlistener() public void actionperformed(actionevent e)try objectinputstream in=new objectinputstream(new fileinputstream("note.dat
31、"); al=(arraylist)in.readobject(); in.close(); catch(exception ex) system.out.println("查詢時(shí)文件打開有誤哦"); note temp=new note(); int i; for(i=0;i<al.size();i+) temp=(note)al.get(i); if(.equalsignorecase(jtxtname.gettext() break; if(!al.isempty()&&i!=al.size() jtxtzip.set
32、text(temp.zip); jtxtaddr.settext(temp.address); jtxttel.settext(temp.telephone); jtxtmob.settext(temp.mobile); jtxtemail.settext(temp.email); else jtxtname.settext(""); jtxtzip.settext(""); jtxtaddr.settext(""); jtxttel.settext(""); jtxtmob.settext(""); jtxtemail.settext(""); joptionpane.showmessagedialog(null,"無此記錄哦","溫馨提示",joptionpane.information_message); ); jbtclear.addactionlistener(new actionlistener() public void actionperformed(actionevent e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024股權(quán)質(zhì)押借款合同范本2
- 信用貸款合同模板
- 2024年國(guó)際買賣合同中英文
- 2024年建筑外墻節(jié)能保溫技術(shù)服務(wù)合同
- 2024規(guī)范的電子配件購(gòu)銷合同模板
- 三輪摩托購(gòu)車合同范本2024年
- 教育機(jī)構(gòu)合作契約
- 2024停車場(chǎng)場(chǎng)地協(xié)議書范文
- 網(wǎng)絡(luò)證券交易平臺(tái)服務(wù)協(xié)議
- 經(jīng)營(yíng)托管合同范本
- 中國(guó)介入醫(yī)學(xué)白皮書(2021 版)
- 2024中華人民共和國(guó)農(nóng)村集體經(jīng)濟(jì)組織法詳細(xì)解讀課件
- 代運(yùn)營(yíng)合作服務(wù)協(xié)議
- 婚內(nèi)財(cái)產(chǎn)協(xié)議書(2024版)
- 有限空間作業(yè)應(yīng)急管理制度
- 2024全國(guó)普法知識(shí)考試題庫(kù)及答案
- 化工企業(yè)中試階段及試生產(chǎn)期間的產(chǎn)品能否對(duì)外銷售
- 籃球智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 國(guó)開作業(yè)《公共關(guān)系學(xué)》實(shí)訓(xùn)項(xiàng)目1:公關(guān)三要素分析(六選一)參考552
- 碳排放核算與報(bào)告要求 第XX部分:鉛冶煉企業(yè)
- 物業(yè)及物業(yè)管理:提升旅游景區(qū)品質(zhì)
評(píng)論
0/150
提交評(píng)論