使用数组实现电话本系统
一 功能需求
- 新增一个联系人
联系人的编号自动增长,姓名,性别,年龄,手机号,身份证号由用户从控制台录入 - 查找指定的联系人
按照姓名查找符合条件的所有的联系人(有可能有联系人同名情况,如果同名,全部列出) - 查找所有的联系人
- 修改联系人信息
选择一个联系人修改信息 - 删除联系人信息
可以把无效的联系人删除 - 退出系统
二 实现思路
主要设计两个类(联系人类和电话本类),在电话本类中创建一个联系人数组,对这个数组进行增删改查即可。该案例对刚刚学习JAVA的小白具有非常好的练手能力。
三实现代码
Person.java
public class Person {
private int id; //编号
private String name; //姓名
private String sex; //性别
private int age; //年龄
private String phone; //电话号
private String identify; //身份证
public Person() {
}
public Person(int id,String name, String sex, int age, String phone, String identify) {
this.id=id;
this.name = name;
this.sex = sex;
this.age = age;
this.phone = phone;
this.identify = identify;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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 getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getIdentify() {
return identify;
}
public void setIdentify(String identify) {
this.identify = identify;
}
}
Tel.java
import java.util.Scanner;
public class Tel {
Person[] person=new Person[200];
int size=0;
static int id=1;
public Tel(){
System.out.println("****欢迎使用本系统****");
} //系统显示菜单
public void showMenu(){
Scanner input=new Scanner(System.in);
while (true) {
System.out.println("****************************旺旺电话本系统********************************");
System.out.println("************1 新增 2 查找特定 3 查找所有 4 修改 5 删除 6 退出**********");
int choice =input.nextInt();
switch (choice){
case 1 :
add();
break;
case 2 :
SearchOne();
break;
case 3 :
SearchAll();
break;
case 4 :
revise();
break;
case 5 :
delete();
break;
case 6 :
System.out.println("***欢迎下次继续使用本系统***");
return;
}
}
}
//新增联系人
public void add(){
System.out.println("***新增联系人***");
Scanner input=new Scanner(System.in);
System.out.println("请输入联系人名称:");
String name=input.next();
System.out.println("请输入联系人性别:");
String sex=input.next();
System.out.println("请输入联系人年龄:");
int age=input.nextInt();
System.out.println("请输入联系人手机号:");
String phone=input.next();
System.out.println("请输入联系人身份证号:");
String identify=input.next();
person[size]=new Person(id,name,sex,age,phone,identify);
size++;
id++;
}
//查找指定联系人
public void SearchOne(){
Scanner input=new Scanner(System.in);
System.out.println("请输入你要查找的联系人名称:");
String name=input.next();
for (int i = 0; i < size; i++) {
if(person[i].getName().equals(name)){
System.out.println("***为您查找到以下联系人信息***");
System.out.println("编号:"+person[i].getId()+" 姓名 "+person[i].getName()+" 性别:"+person[i].getSex()+" 年龄:"
+person[i].getAge()+" 手机号:"+person[i].getPhone()+" 身份证号:"+person[i].getIdentify());
return;
}
}
System.out.println("***未找到该联系人***");
}
//查找所有联系人
public void SearchAll(){
if(person[0]==null){
System.out.println("***电话本还未添加任何联系人信息!!!***");
return;
} for (int i = 0; i < size; i++) {
if(person[i]!=null){
System.out.println("编号:"+person[i].getId()+" 姓名 "+person[i].getName()+" 性别:"+person[i].getSex()+" 年龄:"
+person[i].getAge()+" 手机号:"+person[i].getPhone()+" 身份证号:"+person[i].getIdentify());
}
}
}
//修改联系人信息
public void revise(){
int n=500;
Scanner input=new Scanner(System.in);
System.out.println("****请输入你要修改的联系人姓名****");
String name=input.next();
for (int i = 0; i < size; i++) {
if(person[i].getName().equals(name)){
n=i;
}
}
if(n==500){
System.out.println("***电话本中没有该联系人***");
System.out.println("***修改失败***");
}
System.out.println("请输入新的姓名:");
person[n].setName(input.next());
System.out.println("请输入新的性别:");
person[n].setSex(input.next());
System.out.println("请输入新的年龄:");
person[n].setAge(input.nextInt());
System.out.println("请输入新的手机号:");
person[n].setPhone(input.next());
System.out.println("请输入新的身份证号:");
person[n].setIdentify(input.next());
System.out.println("***修改联系人成功***");
}
//删除联系人信息
public void delete(){
Scanner input =new Scanner(System.in);
System.out.println("请选择你要删除的联系人名称");
String name=input.next();
for (int i = 0; i < size; i++) {
if(person[i].getName().equals(name)){
person[i]=null;
System.out.println("***删除成功***");
return;
}
}
}
}
TelSystem.java
public class TelSystem {
public static void main(String[] args) {
Tel tel=new Tel();
tel.showMenu();
}
}