软件编程
位置:首页>> 软件编程>> java编程>> Java实现通讯录管理系统项目

Java实现通讯录管理系统项目

作者:执久呀  发布时间:2022-11-17 02:41:03 

标签:java,通讯录

本文实例为大家分享了Java实现通讯录管理系统的具体代码,供大家参考,具体内容如下

一、前言

我们学了这么久的知识了,光学知识不会用是一件很悲伤的事情,所以我们应学完

部分练一些项目或题,来巩固我们学习的知识,激发我们持续学习的动力。

二、创建通讯的功能

  • 增加联系人信息

  • 删除联系人信息

  • 修改联系人信息

  • 查看所有联系人信息

  • 退出通信录管理系统

首先定义一个People类,提供相应的get、set方法

(在idea中有快捷键Alt+insert生成get、set方法,和构造方法)


public class People {
   private String sid;
   private String name;
   private String age;
   private String address;
   private String num;
   public People(){}
   public People(String sid, String name, String age, String address, String num) {
       this.sid = sid;
       this.name = name;
       this.age = age;
       this.address = address;
       this.num=num;
   }

public String getSid() {
       return sid;
   }
   public void setSid(String sid) {
       this.sid = sid;
   }
   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 getAddress() {
       return address;
   }
    public void setAddress(String address) {
       this.address = address;
   }
   public String getNum() {
       return num;
   }
    public void setNum(String num) {
       this.num = num;
   }

在People类中加上菜单,并在测试类中去调用。


public void 菜单(){
           System.out.println("-------欢迎来到通讯录管理系统-------");
           System.out.println("1.增加联系人");
           System.out.println("2.删除联系人");
           System.out.println("3.修改联系人");
           System.out.println("4.查看所有联系人");
           System.out.println("5.退出");
           System.out.println("请选择:");
   }

我们为了能直接通过打印对象来得到我们想要得到信息,而不是得到

查看所有输入的信息,没有重写toString时: [controller.Student@6e0be858]

重写了toString方法就可以得到看得懂。也可以通过Alt+Inset快捷键来快速生成toString方法


@Override
   public String toString(){//重写toString方法,使其变成我们看得懂的指定的信息
       return "[姓名:"+name+",年龄:"+age+",电话:"+num+",关系:"+sid+",住址:"+address+"]\n";
   }
}

以上都是在People类中。

我们在PeopleManner类下,书写以下方法。

main方法中:


public static void main(String[] args) {
       ArrayList<People> array = new ArrayList();
       while (true) {
           People s = new People();//创建对象,调用方法。
           s.菜单();
           Scanner sc1 = new Scanner(System.in);
           int d = sc1.nextInt();
           switch (d) {
               case 1: {
                   addPeople(array);
                   System.out.println("添加联系人成功");
                   break;
               }
               case 2:{
                   deletePeople(array);
                 break;
               }
               case 3:{
              revisePeople(array);
               break;
               }
               case 4:{
             checkPeople(array);
             break;
               }
               case 5:{
                   System.out.println("退出成功,谢谢使用");
                   System.exit(0);
                  break;
               }
               default:{
                   System.out.println("输入错误,请重新输入");
               }
           }
       }

在增加联系人的方法addPeople中


public static void addPeople(ArrayList<People> array){
       Scanner sc=new Scanner(System.in);
        System.out.println("请输入姓名");
        String name=sc.nextLine();
        System.out.println("请输入电话号码");
        String num=sc.nextLine();
        System.out.println("请输入你们之间的关系");
       String sid=sc.nextLine();
        System.out.println("请输入年龄");
        String age=sc.nextLine();
        System.out.println("请输入家庭住址");
        String address=sc.nextLine();
        People s1=new People();//创建对象,调用set成员,设置成员的值
        s1.setAddress(address);
        s1.setAge(age);
        s1.setName(name);
        s1.setSid(sid);
        s1.setNum(num);
        array.add(s1);//将所有设置的变量加到集合中
    }

在查看所有联系人的方法checkPeople中


public static void checkPeople(ArrayList<People> array){
       if(array.isEmpty()){//isEmpty是用来判断非空的是collection接口的方法,ArrayList实现了
       list接口,list接口继承了collection接口
           System.out.println("没有联系人信息,请先添加联系人后查看");
       }
       else{
           System.out.println(array);}//查看所有输入的信息,没有重写toString时:
            //[controller.Student@6e0be858]
    }

在删除联系人信息方法中


public static void deletePeople(ArrayList<People> array){
       if(array.isEmpty()){
           System.out.println("没有联系人信息,请先添加联系人信息再操作");
       }
       else{
          Scanner sc=new Scanner(System.in);
           System.out.println("请输入你要删除联系人名字");
             String num=sc.nextLine();
             int sum=0;
              for(int i=0;i<array.size();i++) {
                People stu = array.get(i);
                //  System.out.println(stu);//stu包括了一个元素联系人的所有信(name,age...)
                 if(stu.getName().equals(num)) {
                    array.remove(i);sum++;//定义一个变量用来判断是否含有该元素
                     System.out.println("删除成功");
                 }
              }
              if(sum==0){
                  System.out.println("删除失败,该联系人信息不存在");
              }
       }
    }

在定义修改联系人信息的方法中


public static void revisePeople(ArrayList<People> array) {
         if (array.isEmpty()) {
             System.out.println("没有联系人信息!请添加后在进行操作");
         } else {
             Scanner sc1 = new Scanner(System.in);
             System.out.println("请输入你要修改联系人的姓名");
             String name1 = sc1.nextLine();
             int sum = 0;
             for (int j = 0; j < array.size(); j++) {
                 People s2 = array.get(j);
                 if (s2.getName().equals(name1)) {
                     sum++;
                 }
             }
             if (sum == 0) {
                 System.out.println("没有匹配的姓名,重新输入");
             }else{
             Scanner sc = new Scanner(System.in);
             System.out.println("请输入新姓名");
             String name = sc.nextLine();
             System.out.println("请输入新电话码");
             String num = sc.nextLine();
             System.out.println("请输入你们之间的关系");
             String sid = sc.nextLine();
             System.out.println("请输入新年龄");
             String age = sc.nextLine();
             System.out.println("请输入新地址");
             String address = sc.nextLine();
             People s1 = new People();
             s1.setAddress(address);
             s1.setAge(age);
             s1.setName(name);
             s1.setSid(sid);
             s1.setNum(num);
             // System.out.println(s1);//s1也是一个包含联系人所有信息的元素,所以后续用array.set(i,s1)等价交换
             for (int i = 0; i < array.size(); i++) {
                 People s = array.get(i);
                 if (s.getName().equals(name1)) {
                     array.set(i, s1);//将他修改
                     System.out.println("修改成功");
                     break;
                 }

}
             }
         }

}

最终效果总览图:

Java实现通讯录管理系统项目

来源:https://blog.csdn.net/weixin_60719453/article/details/121086292

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com