源文件
import java.util.Scanner;
public class PhoneBook {
private String name;
private String sex;
private int age;
private String number;
private String QQ;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getQQ() {
return QQ;
}
public void setQQ(String qQ) {
QQ = qQ;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "PhoneBook [姓名=" + name + ", 性别=" + sex + ", 年龄=" + age + ", 电话=" + number + ", QQ=" + QQ
+ ", 住址=" + address + "]";
}
}
测试文件
import java.util.ArrayList;
import java.util.Scanner;
public class PhoneBookManager {
public static ArrayList<PhoneBook> booklist = new ArrayList<PhoneBook>();
public static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
while (true) {
System.out.println("--------------电话本管理系统--------------");
System.out.println("1.增加,2.删除,3.修改,4.查询全部,5按姓名查询,0.退出");
System.out.println("--------------电话本管理系统--------------");
System.out.println("请选择业务");
int num = sc.nextInt();
switch (num) {
case 1:
addBook();
// 添加信息
break;
case 2:
deleteBook();
// 删除信息
break;
case 3:
updateBook();
// 修改信息
break;
case 4:
findAll();
// 输出全部
break;
case 5:
findByName();
// 根据姓名索引全部信息
break;
case 0:
System.exit(0);
// 退出系统
break;
default:
System.out.println("选择有误,请重新选择");
}
}
}
// 根据姓名查找索引
public static int findIndex(String name) {
int index = -1;
for (int i = 0; i < booklist.size(); i++) {
PhoneBook book = booklist.get(i);
if (name.equals(book.getName())) {
index = i;
break;
}
}
return index;
}
private static void addBook() {
System.out.println("姓名");
String name = sc.next();
System.out.println("性别");
String sex = sc.next();
System.out.println("年龄");
int age = sc.nextInt();
System.out.println("电话号码");
String number = sc.next();
System.out.println("QQ");
String QQ = sc.next();
System.out.println("住址");
String address = sc.next();
// 组合一个PhoneBook对象
PhoneBook book = new PhoneBook();
book.setName(name);
book.setSex(sex);
book.setAge(age);
book.setNumber(number);
book.setQQ(QQ);
book.setAddress(address);
// 将对象存入集合
booklist.add(book);
}
private static void deleteBook() {
System.out.println("请输入要删除的姓名");
String name = sc.next();
int index = findIndex(name);// 调用查找方法
if (index == -1) {
System.out.println("没有要删除的信息");
return;// 当前方法截止,回到调用处
}
// 打印要删除的信息
System.out.println("是否要删除 1是;0否");
int num1 = sc.nextInt();
if (num1 == 1) {
booklist.remove(index);
}
if (num1 == 0) {
System.out.println(booklist.get(index));
}
}
private static void updateBook() {
// 修改信息
System.out.println("请输入要修改的姓名");
String changeName = sc.next();
int index = findIndex(changeName);
if (index == -1) {
System.out.println("没有要修改的人");
return;
} else {
for (int i = 0; i < booklist.size(); i++) {
PhoneBook book = booklist.get(i);
if (changeName.equals(book.getName())) {
index = i;
break;
}
}
System.out.println("找到要修改的人:请重新输入信息");
System.out.println("姓名");
String name = sc.next();
System.out.println("性别");
String sex = sc.next();
System.out.println("年龄");
int age = sc.nextInt();
System.out.println("电话");
String number = sc.next();
System.out.println("QQ");
String QQ = sc.next();
System.out.println("住址");
String address = sc.next();
// 组合一个PhoneBook对象
PhoneBook book1 = new PhoneBook();
book1.setName(name);
book1.setSex(sex);
book1.setAge(age);
book1.setNumber(number);
book1.setQQ(QQ);
book1.setAddress(address);
// 将对象存入集合
booklist.set(index, book1);
}
}
private static void findAll() {
// TODO Auto-generated method stub
for (PhoneBook book : booklist) {
System.out.println(book);
}
}
private static void findByName() {
// TODO Auto-generated method stub
// 根据姓名索引信息
// TODO Auto-generated method stub
System.out.println("请输入要查找的姓名");
String findName = sc.next();
// 先在集合里找到对象
// 再在对象里找到进行对比
int index = findIndex(findName);
if (index == -1) {
System.out.println("没有要查找的人");
return;
} else {
for (int i = 0; i < booklist.size(); i++) {
PhoneBook book = booklist.get(i);
if (findName.equals(book.getName())) {
index = i;
break;
}
}
System.out.println(booklist.get(index));
}
}
}