JAVA小练习---利用数组实现简易电话本系统

使用数组实现电话本系统

一 功能需求

  1. 新增一个联系人
    联系人的编号自动增长,姓名,性别,年龄,手机号,身份证号由用户从控制台录入
  2. 查找指定的联系人
    按照姓名查找符合条件的所有的联系人(有可能有联系人同名情况,如果同名,全部列出)
  3. 查找所有的联系人
  4. 修改联系人信息
    选择一个联系人修改信息
  5. 删除联系人信息
    可以把无效的联系人删除
  6. 退出系统

二 实现思路

主要设计两个类(联系人类和电话本类),在电话本类中创建一个联系人数组,对这个数组进行增删改查即可。该案例对刚刚学习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();
    }
}
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值