基于java的电话本管理系统

来源:互联网 发布:wepy 知乎 编辑:程序博客网 时间:2024/05/16 16:12

本程序本人写了三个类分别为PhoneBook、TelephoneItem、Ui

TelephoneItem:

package com.hpe.test;


public class TelephoneItem {
//属性
private String name;
private String gender;
private int  age;
private String tel;
private String qq;
private String addr;
//构造方法---默认
public TelephoneItem() {
// TODO Auto-generated constructor stub
}
//带参数的构造方法
public TelephoneItem(String name, String gender, int age, String tel, String qq, String addr) {
super();
this.name = name;
this.gender = gender;
this.age = age;
this.tel = tel;
this.qq = qq;
this.addr = addr;
}


public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
//返回对象的字符串表示形式
@Override
public String toString() {
return "TelephoneItem [name=" + name + ", gender=" + gender + ", age=" + age + ", tel=" + tel + ", qq=" + qq
+ ", addr=" + addr + "]";
}

}


PhoneBook:

package com.hpe.test;


public class PhoneBook {
//属性
private TelephoneItem[] book = new TelephoneItem[20];

public boolean add(TelephoneItem item){
//添加
for(int index = 0; index < book.length;index++){
if(book[index] == null){
book[index] = item;
return true;
}
}
return false;
}
//查询所有,返回book
public TelephoneItem[] findAll(){
return book;
}
//根据性名查询
public TelephoneItem findByName(String name){
for(int index = 0; index < book.length; index++) {
//判断姓名相等用equals方法
if(book[index] != null && book[index].getName().equals(name)) {
return book[index];
}
}
return null;
}
//根据姓名删除
public boolean del(String name) {
for(int index = 0; index < book.length; index++) {
if(book[index] != null && book[index].getName().equals(name)) {
book[index] = null;
return true;
}
}
return false;
}
//修改记录
public boolean chg(String name, TelephoneItem item) {
for(int index = 0; index < book.length; index++) {
if(book[index] != null && book[index].getName().equals(name)) {
book[index] = item;
return true;
}
}
return false;
}
}

Ui:

package com.hpe.test;


import java.util.Scanner;


public class Ui {
/*
* 此项主要负责输出
*/
// 打印菜单
public static void menu() {
System.out.println("---------------电话本管理系统--------------");
System.out.println(" 1.添加  2.删除  3.修改  4.查询所有  5.根据姓名查询   0.退出");
System.out.println("---------------电话本管理系统--------------");
System.out.println("请选择业务");
}


public static void main(String[] args) {
// 输入
Scanner in = new Scanner(System.in);
PhoneBook phoneBook = new PhoneBook();


// 无限循环
while (true) {
menu();
int choose = in.nextInt(); // 获取输入的选项(0~5)
switch (choose) {
case 1:// 添加
/*
* 要先判断一下,姓名是否存在,如果存在就不能添加,如果不存在就可以添加
*/
System.out.println("--------添加电话本--------");
System.out.print("姓名:");
String name = in.next(); // 获取输入的姓名
if (phoneBook.findByName(name) != null) {// 用户已经存在
System.out.println("用户已存在");
break;
}
System.out.print("性别:");
String gender = in.next();
System.out.print("年龄:");
int age = in.nextInt();
System.out.print("电话:");
String tel = in.next();
System.out.print("QQ:");
String qq = in.next();
System.out.print("地址:");
String addr = in.next();


// 封裝
TelephoneItem item = new TelephoneItem(name, gender, age, tel, qq, addr);


if (phoneBook.add(item)) {
System.out.println(item);
System.out.println("添加成功");
} else {
System.out.println("电话本已满,添加失败....");
}
break;
case 2:// 删除
System.out.println("--------删除电话本--------");
System.out.print("请输入要删除的姓名:");
String delname = in.next();
TelephoneItem delItem = phoneBook.findByName(delname);
if (delItem == null) {
System.out.println("您要删除的信息不存在...");
} else {
System.out.println(delItem.toString());
System.out.println("确定要删除吗?确定(1)取消(0)");
int delflag = in.nextInt(); // 选择是否删除
if (delflag == 1) { // 删除
phoneBook.del(delname);
System.out.println("删除成功");
} else if (delflag == 0) { // 取消
break;
}
}
break;
case 3:// 修改
System.out.println("***");


System.out.println("--------修改电话本--------");
System.out.print("请输入要修改的姓名:");
String chgname = in.next();
TelephoneItem chgItem = phoneBook.findByName(chgname);
if (chgItem == null) {
System.out.println("无信息");
break;
}
System.out.println(chgItem.toString());
System.out.println("请重新输入信息");
System.out.print("姓名:");
String newname = in.next(); // 新的名字
// 修改之后的姓名和其它记录姓名相同,不能修改
TelephoneItem[] book = phoneBook.findAll(); // 电话本
boolean flag = false; // 是否要从switch中跳出
for (int index = 0; index < book.length; index++) {
if (book[index] != null && book[index].getName().equals(newname) && book[index] != chgItem) {
System.out.println("要修改的姓名与电话本中的其他项姓名重复,不能修改");
flag = true;
break;
}
}
if (flag == true) {
break;
}


System.out.print("性别:");
String chggender = in.next();
System.out.print("年龄:");
int chgage = in.nextInt();
System.out.print("电话:");
String chgtel = in.next();
System.out.print("QQ:");
String chgqq = in.next();
System.out.print("地址:");
String chgaddr = in.next();


// 把输入的内容封装成对象
TelephoneItem chgitem = new TelephoneItem(newname, chggender, chgage, chgtel, chgqq, chgaddr);
phoneBook.chg(chgname, chgitem);
System.out.println("修改成功");
break;
case 4:// 查询所有
TelephoneItem[] items = phoneBook.findAll();
System.out.println("--------打印所有电话本--------");
for (TelephoneItem i : items) {
if (i != null) {
System.out.println(i);
}
}
break;
case 5:// 根据姓名查询
System.out.println("--------根据姓名查询--------");
System.out.print("姓名:");
String searchname = in.next();
TelephoneItem searchItem = phoneBook.findByName(searchname);
if (searchItem == null) {
System.out.println("您查询的信息不存在");
break;
}
System.out.println(searchItem);
break;
case 0:// 退出
System.exit(0);
}


}
}
}

原创粉丝点击