java个人通讯录程序设计.docx
- 文档编号:3854416
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:20
- 大小:174.29KB
java个人通讯录程序设计.docx
《java个人通讯录程序设计.docx》由会员分享,可在线阅读,更多相关《java个人通讯录程序设计.docx(20页珍藏版)》请在冰豆网上搜索。
java个人通讯录程序设计
软件学院
课程设计报告书
课程名称
面向对象程序设计
设计题目
个人通讯录管理
专业班级
学号
姓名
指导教师
2014年6月
1设计时间
2014年6月16日至2014年6月20日
2设计目的
通过实践加深对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高自身的应用能力,为以后团队合作开发更大的程序打下基础。
也加强了对计算机嵌入式的学习。
3设计题目
个人通讯录管理
4设计任务
编写个人通讯录管理软件(用文件存储)。
其主要提供如下功能是实现记录的增、删、查、显示所有、备份和退出记录,通讯录记录信息包括:
姓名,电话等信息,可以采用数据库或文件进行存储
5设计内容
5.1整体设计思路
首先建一个tongxunlu包,再在包里面建立七个类,分别实现通讯录的增、删、查、显示全部和备份,将GUI和输入输出流结合,用图形界面和按钮实现对通讯录的操作,然后将通讯录按指定格式存入D盘的Contacts文本当中,最后进入eclipse运行,进入指定界面后点击按钮进行后续操作,个功能实现后,点击退出按钮退出整个系统。
(1)Test类是主程序,用于运行整个程序
(2)tongxun类是主窗口类,只实现一个方法那就是退出,其他方法在其他类里面实现
(3)Insert是增加记录的窗口和方法类
(4)Display这个是显示全部记录的窗口和方法类
(5)Select这是查找记录的窗口和方法类
(6)Copy这个是实现备份功能的窗口和类
(7)Delete这是实现删除功能和器窗口的类,其实是删除功能是先读取出所有数据存储在数组里(不存储要删除数据)再写进原本的txt文件当中去覆盖掉原本文
5.2程序运行流程
首先运行程序,进入通讯录系统后有六个并列操作,点击增加记录按钮进入记录界面确定就增加成功,否则退回主界面,同理可对删除记录,查询记录,显示所有记录进行操作,退出按钮点击后退出整个系统,程序结束。
5.3程序代码
packagetongxunlu;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
tongxunrun=newtongxun();
}
}//该类用于启动这个程序,主方法。
packagetongxunlu;
importjava.io.*;
importjava.awt.Button;//按钮
importjava.awt.Frame;//容器的一种(window的子类)
importjava.awt.Label;//标签
importjava.awt.TextField;//单行文本输入框
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.print.attribute.standard.Copies;
importjavax.swing.JFrame;
publicclasstongxunextendsJFrameimplementsActionListener
{
privateTextFieldtext_1;//单行文本输入框(姓名)
privateTextFieldtext_2;//单行文本输入框(电话)
privateRandomAccessFileraf;
publictongxun(){
JFramemainFrame=newJFrame("通讯录");
mainFrame.setLocation(600,400);
mainFrame.setSize(230,200);
mainFrame.setLayout(null);
Buttonbt1=newButton("增加记录");
mainFrame.add(bt1);
bt1.setLocation(10,30);
bt1.setSize(80,25);
bt1.addActionListener(this);
Buttonbt2=newButton("删除记录");
mainFrame.add(bt2);
bt2.setLocation(120,30);
bt2.setSize(80,25);
bt2.addActionListener(this);
Buttonbt3=newButton("显示所有记录");
mainFrame.add(bt3);
bt3.setLocation(120,65);
bt3.setSize(80,25);
bt3.addActionListener(this);
Buttonbt4=newButton("查询记录");
mainFrame.add(bt4);
bt4.setLocation(10,65);
bt4.setSize(80,25);
bt4.addActionListener(this);
Buttonbt5=newButton("文件备份");
mainFrame.add(bt5);
bt5.setLocation(120,100);
bt5.setSize(80,25);
bt5.addActionListener(this);
Buttonbt6=newButton("退出");
mainFrame.add(bt6);
bt6.setLocation(10,100);
bt6.setSize(80,25);
bt6.addActionListener(this);
mainFrame.setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
Stringbt=e.getActionCommand();
if(bt.equals("增加记录")){
Insertm=newInsert();
}
if(bt.equals("删除记录")){
Deleten=newDelete();
}
if(bt.equals("查询记录")){
Selecta=newSelect();
}
if(bt.equals("显示所有记录")){
Displayb=newDisplay();
}
if(bt.equals("文件备份")){
Copiesv=newCopies(getDefaultCloseOperation());
}
if(bt.equals("退出")){
System.exit(0);
}
}
}
packagetongxunlu;
importjava.io.*;
importjava.awt.Button;//按钮
importjava.awt.Label;//标签
importjava.awt.TextField;//单行文本输入框
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JFrame;
classInsertextendsJFrameimplementsActionListener{
publicTextFieldtext_1;
publicTextFieldtext_2;
Insert(){
setTitle("增加记录");
setSize(300,150);
setLocation(600,400);
setLayout(newGridLayout(3,2));
text_1=newTextField();
text_2=newTextField();
Labellab_1=newLabel("请输入联系人姓名:
");
Labellab_2=newLabel("请输入联系人手机号码:
");
Buttonbt7=newButton("确定");
Buttonbt8=newButton("清空");
bt7.addActionListener(this);
bt8.addActionListener(this);
add(lab_1);add(text_1);
add(lab_2);add(text_2);
add(bt7);add(bt8);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
Stringbt=e.getActionCommand();
if(bt.equals("确定")){try{
FileWriterraf=newFileWriter("D:
/Contacts.txt",true);
Strings1=text_1.getText();
Strings2=text_2.getText();
raf.write(s1+"\r\n");
raf.write(s2+"\r\n");
text_1.setText("");
text_2.setText("");
raf.close();
}
catch(IOExceptiond){
System.out.println(d);
}
}
if(bt.equals("清空")){text_1.setText("");
text_2.setText("");}
}
}
packagetongxunlu;
importjava.io.*;
importjava.awt.Button;//按钮
importjava.awt.Label;//标签
importjava.awt.TextField;//单行文本输入框
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JFrame;
classSelectextendsJFrameimplementsActionListener{
publicStrings3,s4;
publicTextFieldtext_1;
publicTextFieldtext_2;
Select(){
setTitle("查询记录");
setSize(300,150);
setLocation(600,400);
setLayout(newGridLayout(3,2));
text_1=newTextField();
text_2=newTextField();
Labellab_1=newLabel("请输入要查找人的姓名:
");
Labellab_2=newLabel("该联系人手机号码是:
");
Buttonbt11=newButton("确定");
Buttonbt12=newButton("清空");
bt11.addActionListener(this);
bt12.addActionListener(this);
add(lab_1);
add(text_1);
add(lab_2);
add(text_2);
add(bt11);
add(bt12);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
Stringbt=e.getActionCommand();
if(bt.equals("确定")){
StringfileName="D:
/Contacts.txt";
Stringline;
try{
BufferedReaderin=newBufferedReader(newFileReader(fileName));
line=in.readLine();
while(line!
=null){
if(line.equals(text_1.getText())){
System.out.println("无此人");
s3=line;
s4=in.readLine();
text_1.setText(""+s3);
text_2.setText(""+s4);
}
line=in.readLine();
}
in.close();
}catch(IOExceptiond){
System.out.println(d);
}
}
if(bt.equals("清空")){
text_1.setText("");
text_2.setText("");
}
}
}
packagetongxunlu;
importjava.io.*;
importjava.awt.TextField;//单行文本输入框
importjava.awt.Graphics;
importjavax.swing.JFrame;
classDisplayextendsJFrame{
publicTextFieldtext_1;
Strings;
Display(){
setTitle("显示所有记录");
setSize(300,150);
setLocation(600,400);
setVisible(true);
}
publicvoidpaint(Graphicsg){
super.paint(g);
StringfileName="D:
/Contacts.txt";
Stringline;
inti;
i=0;
try{
BufferedReaderin=newBufferedReader(newFileReader(fileName));
line=in.readLine();
while(line!
=null){
i=i+1;
g.drawString("姓名:
"+line,10,40*i);
g.drawString("电话:
"+in.readLine(),140,40*i);
line=in.readLine();
}
in.close();
}catch(IOExceptiond){
System.out.println(d);
}
}
}
importjava.awt.Graphics;
importjava.awt.TextField;//单行文本输入框
importjava.io.BufferedReader;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
importjavax.swing.JFrame;
classCopyextendsJFrame{
publicTextFieldtext_1;
Copy(){
setTitle("文件备份");
setSize(300,150);
setLocation(600,400);
setVisible(true);
String[]copy=newString[10000];
inti=0,a;
StringfileName="D:
\\Contacts.txt";
try{
BufferedReaderin=newBufferedReader(newFileReader(fileName));
copy[i]=in.readLine();
while(copy[i]!
=null){
i++;
copy[i]=in.readLine();
}
in.close();
}catch(IOExceptiond){
System.out.println(d);
}
StringwenJan="E:
\\备份.txt";
try{
FileWriterwriter=newFileWriter(wenJan);
for(a=0;a
writer.write(copy[a]+"\r\n");
}
writer.close();
}catch(IOExceptione1){
}
}
publicvoidpaint(Graphicsg){
super.paint(g);
g.drawString("已经备份到(E:
\\备份.txt)",40,40);
}
}
packagetongxunlu;
importjava.awt.Button;//按钮
importjava.awt.GridLayout;
importjava.awt.Label;//标签
importjava.awt.TextField;//单行文本输入框
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.io.BufferedReader;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
importjavax.swing.JFrame;
classDeleteextendsJFrameimplementsActionListener{
publicTextFieldtext_1;
publicTextFieldtext_2;
Delete(){
setTitle("删除记录");
setSize(350,150);
setLocation(600,400);
setLayout(newGridLayout(3,2));
text_1=newTextField();
text_2=newTextField();
Labellab_3=newLabel("请输入要删除联系人姓名:
");
Labellab_4=newLabel("是否删除成功");
Buttonbt9=newButton("确定");
Buttonbt10=newButton("清空");
bt9.addActionListener(this);
bt10.addActionListener(this);
add(lab_3);
add(text_1);
add(lab_4);
add(text_2);
add(bt9);
add(bt10);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
Stringbt=e.getActionCommand();
if(bt.equals("确定")){
String[]copy=newString[10000];
inti=0,a,t=0;
Stringb;
StringfileName="D:
/Contacts.txt";
try{
BufferedReaderin=newBufferedReader(newFileReader(fileName));
b=in.readLine();
while(b!
=null){
if(b.equals(text_1.getText())){
in.readLine();
text_2.setText("成功");
t=1;
}else{
i++;
copy[i]=b;
}
b=in.readLine();
}
if(t==0){
text_2.setText("查找不到哪个人删除失败");
}
in.close();
}catch(IOExceptiond){
System.out.println(d);
}
String重写文件="D:
/Contacts.txt";
try{
FileWriterwriter=newFileWriter(重写文件);
for(a=1;a
writer.write(copy[a]+"\r\n");
}
writer.close();
}catch(IOExceptione1){
}
}
if(bt.equals("清空")){
text_1.setText("");
text_2.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 个人 通讯录 程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)