1、Java通讯录程序设计项目课程报告 程序设计项目课程结课报告学 号: 时 间: 项目题目一、 选题意义和背景选题意义:1. 该项目编写的主要目的使学员对以往所学过的知识点做一个统一的复习,将平时所学的内容综合到一起并运用到实际代码编写中。2. 该项目能够充分的体现出一些简单的业务流程处理,能够使学员掌握基本的业务流程控制。背景:1 该项目是用于日常生活中记录联系人信息的一款小工具。2 实现了对联系人的姓名、年龄、性别、电话号码、住址的添加及修改、查找、删除、排序等功能。该项目是以windows控制台为运行平台,所有的操作都应在控制台上进行。二、 程序主要功能模块说明1、 Person类1. 定
2、义的属性有ID 、name、age、sex、tel、address2. 定义的方法有:Person() 无参数构造方法、Person(String name, String age, String sex, String telNum, String address) 有参数构造方法、getName() 读取用户名、setName(String name) 设置用户名、getAge() 读取用户年龄、setAge(String age) 设置用户年龄、getSex() 读取用户性别、setSex(String sex)设置用户性别、getTel() 读取用户电话号码、setTel(String
3、 tel) 设置用户电话号码、getAddress() 读取用户地址setAddress(String address) 设置用户地址、getID () 读取用户ID号、setID (StringID) 设置用户ID号、toString() 连接字符串方法、print()查看方法。2、 Menu类1.mainMenu() 主菜单2. addMenu () 添加用户菜单3. searchMenu () 查找用户菜单4. modifyMenu () 修改用户信息主菜单5. subModifyMenu () 修改用户信息子菜单6. deleteMenu () 删除用户信息菜单7. orderMenu
4、 () 排序用户信息菜单3、 Operate类1. Vector v 集合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 () 按电话查
5、找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、 OrderBy
6、Name类1.实现Comparator接口6、 OrderByName类1.实现Comparator接口7、 OrderByName类1.实现Comparator接口三、 测试结果(截图显示)四、 问题及解决方法1. 得益于老师的那份编写规范,总觉得自己这次的程序写的比以前整齐多了,在写Menu类时遇到了一些小问题,经老师提醒,修改了一下,总算程序写的没那么乱了。2. 本来print()方法应该定义在Operate类中的,但放在Operate类中就会出错,我只好把它放到Person()类中。3. 在Person()类中,我定义的ID本来是int型的,但在Operate类中addPerson()
7、方法中Person p=new Person(ID,name,age.sex.tel.address)就会出错,然后我卡在这里好长时间,因为我问同学也不会,后来我看编写规范中定义的属性全是String类型的,然后我试着改了一下,结果没错误了,但我并不知道为什么。4. 上一次银行系统那个程序并没有写出删除方法,这次写出来了,算是有进步,虽然我觉得写得还是不够好。恩,继续学习!5. 写修改方法时那些属性傻傻地分不清楚,当然最终也没能难倒我。写出一个,其余不是问题。五、 体会为了写好这个程序花了很长时间,但是一切都是值得的,因为运行成功时那份无与伦比的喜悦心情,还有,因为要写这个程序,把课本又来来回
8、回翻了好几遍,也就把知识点复习了一遍又一遍,尤其程序用到很多集合的知识,而我那块儿学的并不太扎实,来来回回,总算大有长进。快要期末考试了,希望可以考出一个好成绩。附:源代码App类package com.txl;import java.util.Scanner;public class App public static void main(String args) Scanner sc = new Scanner(System.in); Menu m=new Menu(); Operate o=new Operate(); o.start(); Menu类package com.txl;im
9、port java.util.*;public class Menu Scanner sc = new Scanner(System.in); void mainMenu() 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 排序记录 *);
10、System.out.println(* 6 退出系统 *); void addMenu() System.out.println(t 添加记录子菜单 t); System.out.println(*); System.out.println(* 1 添加新记录 *); System.out.println(* 2 查看全记录 *); System.out.println(* 3 返回上一级 *); void searchMenu() System.out.println(t 查找记录子菜单 t); System.out.println(*); System.out.println(* 1 按
11、姓名查找 *); System.out.println(* 2 按年龄查找 *); System.out.println(* 3 按性别查找 *); System.out.println(* 4 按号码查找 *); System.out.println(* 5 按地址查找 *); System.out.println(* 6 查看全纪录 *); System.out.println(* 7 返回上一级 *); void modifyMenu() System.out.println(t 修改记录子菜单 t ); System.out.println(*); System.out.println
12、(* 1 查看全纪录 *); System.out.println(* 2 修改指定记录 *); System.out.println(* 3 返回上一级 *); void subModifyMenu() 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.
13、println(* 5 修改住址 *); System.out.println(* 6 返回上一级 *); void deleteMenu() System.out.println(t 删除记录子菜单 t); System.out.println(*); System.out.println(* 1 查看全纪录 *); System.out.println(* 2 删除指定记录 *); System.out.println(* 3 删除全部记录 *); System.out.println(* 4 返回上一级 *); void orderMenu () System.out.println(t
14、 排序记录子菜单 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类package com.txl;import java.util.*;public class Menu Scanner sc = new Scanner(System.in);
15、void mainMenu() 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 退出系统 *); void addMenu() System.out.println(t 添加记录
16、子菜单 t); System.out.println(*); System.out.println(* 1 添加新记录 *); System.out.println(* 2 查看全记录 *); System.out.println(* 3 返回上一级 *); void searchMenu() System.out.println(t 查找记录子菜单 t); System.out.println(*); System.out.println(* 1 按姓名查找 *); System.out.println(* 2 按年龄查找 *); System.out.println(* 3 按性别查找 *
17、); System.out.println(* 4 按号码查找 *); System.out.println(* 5 按地址查找 *); System.out.println(* 6 查看全纪录 *); System.out.println(* 7 返回上一级 *); void modifyMenu() System.out.println(t 修改记录子菜单 t ); System.out.println(*); System.out.println(* 1 查看全纪录 *); System.out.println(* 2 修改指定记录 *); System.out.println(* 3
18、返回上一级 *); void subModifyMenu() 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 返回上一级 *); void deleteMenu()
19、System.out.println(t 删除记录子菜单 t); System.out.println(*); System.out.println(* 1 查看全纪录 *); System.out.println(* 2 删除指定记录 *); System.out.println(* 3 删除全部记录 *); System.out.println(* 4 返回上一级 *); void orderMenu () System.out.println(t 排序记录子菜单 t ); System.out.println(*); System.out.println(* 1 按姓名排序 *); Sy
20、stem.out.println(* 2 按年龄排序 *); System.out.println(* 3 按性别排序 *); System.out.println(* 4 查看全记录 *); System.out.println(* 5 返回上一级 *); OrderByAge类package com.txl;import java.util.Comparator;class OrderByAge implements Comparator public int compare (Object object1, Object object2 ) Person p1=(Person)objec
21、t1; Person p2=(Person)object2; return new String (p1.getAge().compareTo(new String(p2.getAge(); OrderByName 类package com.txl;import java.util.*;class OrderByName implements Comparator public int compare (Object object1, Object object2 ) Person p1=(Person)object1; Person p2=(Person)object2; return ne
22、w String (p1.getName().compareTo(new String(p2.getName(); OrderBySex类package com.txl;import java.util.Comparator;class OrderBySex implements Comparator public int compare (Object object1, Object object2 ) Person p1=(Person)object1; Person p2=(Person)object2; return new String (p1.getSex().compareTo(
23、new String(p2.getSex(); Person类package com.txl;import java.util.Vector;public class Person String ID; String name; String age; String sex; String tel; String address; Person() public Person(String ID,String name,String age,String sex,String telNum,String address) this.ID=ID; this.name=name; this.age
24、=age; this.sex=sex; this.tel=telNum; this.address=address; public String getID() return ID; public void setID(String iD) ID = iD; public String getName() return name; public void setName(String name) this.name = name; public String getAge() return age; public void setAge(String age) this.age = age;
25、public String getSex() return sex; public void setSex(String sex) this.sex = sex; public String getTel() return tel; public void setTel(String tel) this.tel=tel; public String getAddress() return address; public void setAddress(String address) this.address = address; public String toString() return ID+:+name+:+age+:+sex+:+tel+:+address; void print() 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); 目录
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1