编写一个电话本管理系统的demo,要求实现增删改查功能
效果如下:
- 创建一个表示联系人的实体类LinkMan,并生成相应的get,set方法
属性:
private String name;
private char sex;
private int age;
private String phoneNum;
private String qq;
private String addr;
2.与用户交互的UI代码:
package com.telManage;
import java.util.Scanner;
import com.method.telManage;
public class PhoneBook {
public static void main(String[] args) {
Scanner sc = new Scanner( System.in);
boolean flag = true;
telManage telManage = new telManage();
while (flag) {
System.out.println("--------------------电话本管理系统--------------------");
System.out.println(" 1.添加 2.删除 3.修改 4.查询所有 5.根据姓名查询 0.退出");
System.out.println("--------------------电话本管理系统--------------------");
System.out.println("请选择业务:");
int choose = sc.nextInt();
switch (choose) {
case 1:
telManage.add();
break;
case 2:
telManage.delete();
break;
case 3:
telManage.update();
break;
case 4:
telManage.printAll();
break;
case 5:
telManage.selectByName();
break;
default:
flag = false;
break;
}
}
}
}
- 编写UI中各个方法的具体内容
public class telManage {
LinkMan[] lMans = new LinkMan[100];
Scanner sc = new Scanner(System.in);
int num = 0;
// 添加电话本
public void add() {
System.out.println("-----------添加电话本----------");
System.out.print("姓名:");
String name = sc.nextLine();
System.out.print("性别:");
char sex = sc.next().charAt(0);
System.out.print("年龄:");
int age = sc.nextInt();
System.out.print("电话:");
String phone = sc.next();
System.out.print("QQ:");
String qq = sc.next();
System.out.print("地址:");
String addr = sc.next();
LinkMan linkman = new LinkMan(name,sex,age,phone,qq,addr);//新建一个对象
lMans[num] = linkman;//将对象存入数组
System.out.println(linkman.toString());//打印联系人信息
System.out.println("添加成功!");
num = num + 1;
}
//修改信息
public void update(){
System.out.println("----------修改电话本----------");
boolean flag = false;
System.out.print("输入姓名:");
String name1 = sc.nextLine();
for(int i=0;i<num;i++){
if(name1.equals(lMans[i].getName())){
flag = true;
System.out.println(lMans[i].toString());
System.out.println("请输入信息.......");
System.out.println("姓名:");
String name = sc.next();
System.out.println("性别:");
char sex = sc.next().charAt(0);
System.out.println("年龄:");
int age = sc.nextInt();
System.out.println("电话:");
String phone = sc.next();
System.out.println("QQ:");
String qq = sc.next();
System.out.println("地址:");
String addr = sc.next();
LinkMan linkman = new LinkMan(name,sex,age,phone,qq,addr);//新建一个对象
lMans[i] = linkman;//将对象存入数组
System.out.println(linkman.toString());//打印联系人信息
System.out.println("修改成功!");
}
}
if(flag==false){
System.out.println("此人不存在!");
}
}
//打印所有电话本
public void printAll() {
for (int i = 0; i <= num; i++) {
if (lMans[i] != null) {
System.out.println(lMans[i].toString());
}
}
}
//删除
public void delete() {
System.out.println("----------删除电话本----------");
System.out.print("输入姓名:");
String name1 = sc.next();
for(int i=0; i<=num; i++){
if(lMans[i] != null && (name1.equals(lMans[i].getName())) == true){
System.out.println("确定要删除吗?1(是) 0(否)");
int choose = sc.nextInt();
if (choose == 1) {
for (int j = i; j < num; j++) {
lMans[j] = lMans[j+1];
}
num--;
System.out.println("删除成功!");
}
break;
}
System.out.println("联系人不存在!");
}
}
//根据姓名查询
public void selectByName() {
System.out.print("请输入姓名:");
String name = sc.next();
for (int i = 0; i <= num; i++) {
if ((lMans[i] != null) && (name.equals(lMans[i].getName())) == true) {
System.out.println(lMans[i].toString());
break;
}
System.out.println("联系人不存在");
}
}
//退出
public void exit(){
System.out.println("退出系统");
}
}