简述利用list实现简易电话本管理系统

来源:互联网 发布:苏州俊知地产有限公司 编辑:程序博客网 时间:2024/05/04 22:09

要实现的功能:

      ---------------------电话本管理系统------------------------


      1.添加      2.删除     3.修改     4.查询所有    5.根据姓名查询      0.退出

基本思想:

              可以用数组实现,但是使用数组只能事先定义好大小,这样就失去了程序的健壮性。而list可以随时添加,实现起来比较方便和简洁!通过把类的方法进行封装,从而程序思路简洁、明了。实现了面向对象!

具体代码:


package com.Test1;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Scanner;


public class Demo2 {
// public static Manage_TelePhone2 manage_TelePhone2 = new
// Manage_TelePhone2();
public static boolean flag = false;
static BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
static Manage_TelePhone mtp1 = new Manage_TelePhone();

public static void main(String[] args) throws Exception {
int num, ag;
String a, b, c, d, e, f;
while (!flag) {
System.out
.println("---------------------电话本管理系统------------------------");
System.out
.println("1.添加      2.删除     3.修改     4.查询所有    5.根据姓名查询      0.退出");
System.out
.println("---------------------电话本管理系统------------------------");
System.out.println("请选择业务");
// String operType = br.readLine();
String operType = br.readLine();


aaa(operType);
}
}

public static void aaa(String operType) throws IOException {
// TODO Auto-generated method stub
if (operType.equals("1")) {
System.out.println("请输入要添加的姓名");
String name = br.readLine();
System.out.println("请输入性别");
String sex = br.readLine();
System.out.println("请输入年龄");
String age = br.readLine();
System.out.println("请输入电话");
String phone = br.readLine();
System.out.println("请输入要添加的QQ");
String qq = br.readLine();
System.out.println("请输入要添加的地址");
String address = br.readLine();
TelePhone tp1 = new TelePhone(name, sex, age, phone, qq, address);
mtp1.addMessage(tp1);
}
// 2.删除
if (operType.equals("2")) {
System.out.println("请输入所要删除人的姓名");
String name = br.readLine();
mtp1.delete(name);
}
// 3.修改
if (operType.equals("3")) {
System.out.println("请输入要修改的姓名");
String name = br.readLine();
mtp1.change(name, br);


}
// 4.查询所有
if (operType.equals("4")) {
mtp1.searchAll();
}
// 5.根据姓名查询
if (operType.equals("5")) {
System.out.println("请输入要查询的姓名!");
String name = br.readLine();
mtp1.searchone(name);
}
// 0.退出系统
if (operType.equals("0")) {
System.exit(0);
}

}

}


// 电话管理类
class Manage_TelePhone {

ArrayList list1 = new ArrayList();

// 1. 添加
public void addMessage(TelePhone telephone) {
System.out.println("开始添加信息到通讯录!");
list1.add(telephone);
System.out.println("已经添加信息到通讯录啦!");
}

// 2.删除
public void delete(String name) {
int sum = 0;
if (list1.size() != 0) {
for (int i = 0; i < list1.size(); i++) {
sum++;
TelePhone tp2 = (TelePhone) list1.get(i);
if (tp2.getName().equals(name)) {
list1.remove(i);
System.out.println("删除成功啦!");
} else {
if (sum >= list1.size()) {
System.out.println("查无此人!!!!");
}
}
}
} else {
System.out.println("没有信息你怎么删除呀?快去添加吧!");
}
}

// 3.修改
public void change(String name, BufferedReader br) throws IOException {
if (list1.size() != 0) {
TelePhone phone = searchone(name);
if (phone == null) {
System.out.println("查无此人");
return;
}
System.out.println("请输入要添加的姓名");
String name1 = br.readLine();
phone.setName(name1);
System.out.println("请输入性别");
String sex = br.readLine();
phone.setSex(sex);
System.out.println("请输入年龄");
String age = br.readLine();
phone.setAge(age);
System.out.println("请输入电话");
String phonea = br.readLine();
phone.setPhone(phonea);
System.out.println("请输入要添加的QQ");
String qq = br.readLine();
phone.setQq(qq);
System.out.println("请输入要添加的地址");
String address = br.readLine();
phone.setAddress(address);


} else {
System.out.println("没有信息你竟敢修改呀?快去添加吧!!");
}
}

// 4.查询所有信息
public void searchAll() {
if (list1.size() != 0) {
for (int i = 0; i < list1.size(); i++) {
TelePhone tp1 = (TelePhone) list1.get(i);
System.out.println("姓名:" + tp1.getName() + " 性别:"
+ tp1.getSex() + " 年龄:" + tp1.getAge() + " 电话:"
+ tp1.getPhone() + " QQ:" + tp1.getQq() + " 地址:"
+ tp1.getAddress());
}
} else {
System.out.println("没有信息你竟敢查询呀?快去添加吧!!");
}
}


// 5.根据姓名查询
public TelePhone searchone(String name) throws IOException {
if (list1.size() != 0) {
for (int i = 0; i < list1.size(); i++) {
TelePhone tp1 = (TelePhone) list1.get(i);
if (tp1.getName().equals(name)) {
System.out.println("姓名:" + tp1.getName() + " 性别:"
+ tp1.getSex() + " 年龄:" + tp1.getAge() + " 电话:"
+ tp1.getPhone() + " QQ:" + tp1.getQq() + " 地址:"
+ tp1.getAddress());
return tp1;
}


}
return null;
} else {
System.out.println("没有信息你竟敢修改呀?快去添加吧!!");
}
return null;
}
}

// 电话类
class TelePhone {
private String address;
private String age;
private String name;
private String sex;
private String phone;
private String qq;


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;
}


public String getSex() {
return sex;
}


public void setSex(String sex) {
this.sex = sex;
}


public String getPhone() {
return phone;
}


public void setPhone(String phone) {
this.phone = phone;
}


public String getQq() {
return qq;
}


public void setQq(String qq) {
this.qq = qq;
}


public String getAddress() {
return address;
}


public void setAddress(String address) {
this.address = address;
}


public TelePhone(String name, String sex, String age, String phone,
String qq, String address) {
this.address = address;
this.age = age;
this.name = name;
this.sex = sex;
this.phone = phone;
this.qq = qq;
}
}

注意:

         在一个类中调用本类中的方法时,要创建一个中间对象来就行调用!   

时间:2015.09.02

0 0