Java通讯录程序设计项目课程报告.docx
- 文档编号:24558181
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:26
- 大小:271.15KB
Java通讯录程序设计项目课程报告.docx
《Java通讯录程序设计项目课程报告.docx》由会员分享,可在线阅读,更多相关《Java通讯录程序设计项目课程报告.docx(26页珍藏版)》请在冰豆网上搜索。
Java通讯录程序设计项目课程报告
程序设计项目课程
结课报告
学号:
时间:
项目题目
一、选题意义和背景
选题意义:
1.该项目编写的主要目的使学员对以往所学过的知识点做一个统一的复习,将平时所学的内容综合到一起并运用到实际代码编写中。
2.该项目能够充分的体现出一些简单的业务流程处理,能够使学员掌握基本的业务流程控制。
背景:
1.该项目是用于日常生活中记录联系人信息的一款小工具。
2.实现了对联系人的姓名、年龄、性别、电话号码、住址的添加及修改、查
找、删除、排序等功能。
该项目是以windows控制台为运行平台,所有的操作都应在控制台上进行。
二、程序主要功能模块说明
1、Person类
1.定义的属性有ID、name、age、sex、tel、address
2.定义的方法有:
Person()无参数构造方法、Person(Stringname,Stringage,Stringsex,StringtelNum,Stringaddress)有参数构造方法、getName()读取用户名、setName(Stringname)设置用户名、getAge()读取用户年龄、setAge(Stringage)设置用户年龄、getSex()读取用户性别、setSex(Stringsex)设置用户性别、getTel()读取用户电话号码、setTel(Stringtel)设置用户电话号码、getAddress()读取用户地址setAddress(Stringaddress)设置用户地址、getID()读取用户ID号、setID(StringID)设置用户ID号、toString()连接字符串方法、print()查看方法。
2、Menu类
1.mainMenu()主菜单
2.addMenu()添加用户菜单
3.searchMenu()查找用户菜单
4.modifyMenu()修改用户信息主菜单
5.subModifyMenu()修改用户信息子菜单
6.deleteMenu()删除用户信息菜单
7.orderMenu()排序用户信息菜单
3、Operate类
1.Vector
2.Start()主菜单方法
3.exit()返回主菜单
4.add()选择添加
5.search()选择查找
6.modify()选择修改记录
7.submodify()选择修改指定记录
8.delete()选择删除
9.order()选择排序
10.printAll()查看全信息
11.addPerson()添加方法
12.searchByName()按姓名查找
13.searchByAge()按年龄查找
14.searchBySex()按性别查找
15.searchByTel()按电话查找
16.searchByAddress()按地址查找
17.deleteAll()删除全部用户信息
18.modifyName()修改姓名
19.modifyAge()修改年龄
20.modifySex()修改性别
21.modifyTel()修改电话
22.modifyAddress()修改地址
23.deletePoint()删除指定记录
24.deleteAll()删除全部记录
25.orderByName()按姓名排序
26.orderByAge()按年龄排序
27.orderBySex()按性别排序
4、App类
1.main()主方法
5、OrderByName类
1.实现Comparator接口
6、OrderByName类
1.实现Comparator接口
7、OrderByName类
1.实现Comparator接口
三、测试结果(截图显示)
四、问题及解决方法
1.得益于老师的那份编写规范,总觉得自己这次的程序写的比以前整齐多了,在写Menu类时遇到了一些小问题,经老师提醒,修改了一下,总算程序写的没那么乱了。
2.本来print()方法应该定义在Operate类中的,但放在Operate类中就会出错,我只好把它放到Person()类中。
3.在Person()类中,我定义的ID本来是int型的,但在Operate类中addPerson()方法中Personp=newPerson(ID,name,age.sex.tel.address)
就会出错,然后我卡在这里好长时间,因为我问同学也不会,后来我看编写规范中定义的属性全是String类型的,然后我试着改了一下,结果没错误了,但我并不知道为什么。
4.上一次银行系统那个程序并没有写出删除方法,这次写出来了,算是有进步,虽然我觉得写得还是不够好。
恩,继续学习!
5.写修改方法时那些属性傻傻地分不清楚,当然最终也没能难倒我。
写出一个,其余不是问题。
五、体会
为了写好这个程序花了很长时间,但是一切都是值得的,因为运行成功时那份无与伦比的喜悦心情,还有,因为要写这个程序,把课本又来来回回翻了好几遍,也就把知识点复习了一遍又一遍,尤其程序用到很多集合的知识,而我那块儿学的并不太扎实,来来回回,总算大有长进。
快要期末考试了,希望可以考出一个好成绩。
附:
源代码
App类
packagecom.txl;
importjava.util.Scanner;
publicclassApp
{
publicstaticvoidmain(String[]args)
{
Scannersc=newScanner(System.in);
Menum=newMenu();
Operateo=newOperate();
o.start();
}
}
Menu类
packagecom.txl;
importjava.util.*;
publicclassMenu
{
Scannersc=newScanner(System.in);
voidmainMenu()
{
System.out.println("\t主菜单\t");
System.out.println("****************************");
System.out.println("***1添加记录***");
System.out.println("***2查找记录***");
System.out.println("***3修改记录***");
System.out.println("***4删除记录***");
System.out.println("***5排序记录***");
System.out.println("***6退出系统***");
}
voidaddMenu()
{
System.out.println("\t添加记录子菜单\t");
System.out.println("*****************************");
System.out.println("***1添加新记录***");
System.out.println("***2查看全记录***");
System.out.println("***3返回上一级***");
}
voidsearchMenu()
{
System.out.println("\t查找记录子菜单\t");
System.out.println("****************************");
System.out.println("***1按姓名查找***");
System.out.println("***2按年龄查找***");
System.out.println("***3按性别查找***");
System.out.println("***4按号码查找***");
System.out.println("***5按地址查找***");
System.out.println("***6查看全纪录***");
System.out.println("***7返回上一级***");
}
voidmodifyMenu()
{
System.out.println("\t修改记录子菜单\t");
System.out.println("*****************************");
System.out.println("***1查看全纪录***");
System.out.println("***2修改指定记录***");
System.out.println("***3返回上一级***");
}
voidsubModifyMenu()
{
System.out.println("\t修改指定记录子菜单\t");
System.out.println("****************************");
System.out.println("***1修改姓名***");
System.out.println("***2修改年龄***");
System.out.println("***3修改性别***");
System.out.println("***4修改号码***");
System.out.println("***5修改住址***");
System.out.println("***6返回上一级***");
}
voiddeleteMenu()
{
System.out.println("\t删除记录子菜单\t");
System.out.println("*****************************");
System.out.println("***1查看全纪录***");
System.out.println("***2删除指定记录***");
System.out.println("***3删除全部记录***");
System.out.println("***4返回上一级***");
}
voidorderMenu()
{
System.out.println("\t排序记录子菜单\t");
System.out.println("*****************************");
System.out.println("***1按姓名排序***");
System.out.println("***2按年龄排序***");
System.out.println("***3按性别排序***");
System.out.println("***4查看全记录***");
System.out.println("***5返回上一级***");
}
}
Operate类
packagecom.txl;
importjava.util.*;
publicclassMenu
{
Scannersc=newScanner(System.in);
voidmainMenu()
{
System.out.println("\t主菜单\t");
System.out.println("****************************");
System.out.println("***1添加记录***");
System.out.println("***2查找记录***");
System.out.println("***3修改记录***");
System.out.println("***4删除记录***");
System.out.println("***5排序记录***");
System.out.println("***6退出系统***");
}
voidaddMenu()
{
System.out.println("\t添加记录子菜单\t");
System.out.println("*****************************");
System.out.println("***1添加新记录***");
System.out.println("***2查看全记录***");
System.out.println("***3返回上一级***");
}
voidsearchMenu()
{
System.out.println("\t查找记录子菜单\t");
System.out.println("****************************");
System.out.println("***1按姓名查找***");
System.out.println("***2按年龄查找***");
System.out.println("***3按性别查找***");
System.out.println("***4按号码查找***");
System.out.println("***5按地址查找***");
System.out.println("***6查看全纪录***");
System.out.println("***7返回上一级***");
}
voidmodifyMenu()
{
System.out.println("\t修改记录子菜单\t");
System.out.println("*****************************");
System.out.println("***1查看全纪录***");
System.out.println("***2修改指定记录***");
System.out.println("***3返回上一级***");
}
voidsubModifyMenu()
{
System.out.println("\t修改指定记录子菜单\t");
System.out.println("****************************");
System.out.println("***1修改姓名***");
System.out.println("***2修改年龄***");
System.out.println("***3修改性别***");
System.out.println("***4修改号码***");
System.out.println("***5修改住址***");
System.out.println("***6返回上一级***");
}
voiddeleteMenu()
{
System.out.println("\t删除记录子菜单\t");
System.out.println("*****************************");
System.out.println("***1查看全纪录***");
System.out.println("***2删除指定记录***");
System.out.println("***3删除全部记录***");
System.out.println("***4返回上一级***");
}
voidorderMenu()
{
System.out.println("\t排序记录子菜单\t");
System.out.println("*****************************");
System.out.println("***1按姓名排序***");
System.out.println("***2按年龄排序***");
System.out.println("***3按性别排序***");
System.out.println("***4查看全记录***");
System.out.println("***5返回上一级***");
}
}
OrderByAge类
packagecom.txl;
importjava.util.Comparator;
classOrderByAgeimplementsComparator
{
publicintcompare(Objectobject1,Objectobject2)
{
Personp1=(Person)object1;
Personp2=(Person)object2;
returnnewString(p1.getAge()).compareTo(newString(p2.getAge()));
}
}
OrderByName类
packagecom.txl;
importjava.util.*;
classOrderByNameimplementsComparator
{
publicintcompare(Objectobject1,Objectobject2)
{
Personp1=(Person)object1;
Personp2=(Person)object2;
returnnewString(p1.getName()).compareTo(newString(p2.getName()));
}
}
OrderBySex类
packagecom.txl;
importjava.util.Comparator;
classOrderBySeximplementsComparator
{
publicintcompare(Objectobject1,Objectobject2)
{
Personp1=(Person)object1;
Personp2=(Person)object2;
returnnewString(p1.getSex()).compareTo(newString(p2.getSex()));
}
}
Person类
packagecom.txl;
importjava.util.Vector;
publicclassPerson{
StringID;
Stringname;
Stringage;
Stringsex;
Stringtel;
Stringaddress;
Person()
{
}
publicPerson(StringID,Stringname,Stringage,Stringsex,StringtelNum,Stringaddress){
this.ID=ID;
this.name=name;
this.age=age;
this.sex=sex;
this.tel=telNum;
this.address=address;}
publicStringgetID(){
returnID;
}
publicvoidsetID(StringiD){
ID=iD;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetAge(){
returnage;
}
publicvoidsetAge(Stringage){
this.age=age;
}
publicStringgetSex(){
returnsex;
}
publicvoidsetSex(Stringsex){
this.sex=sex;
}
publicStringgetTel(){
returntel;
}
publicvoidsetTel(Stringtel){
this.tel=tel;
}
publicStringgetAddress(){
returnaddress;
}
publicvoidsetAddress(Stringaddress){
this.address=address;
}
publicStringtoString(){
returnID+":
"+name+":
"+age+":
"+sex+":
"+tel+":
"+address;}
voidprint()
{
System.out.println("序号:
\t"+this.ID);
System.out.println("姓名:
\t"+this.name);
System.out.println("年龄:
\t"+this.age);
System.out.println("性别:
\t"+this.sex);
System.out.println("电话:
\t"+this.tel);
System.out.println("地址:
\t"+this.address);
}
目 录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 通讯录 程序设计 项目 课程 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)