Java开发入门到实战--【Java】通讯录管理系统小项目
小职 2021-11-19 来源 :「执久呀」 阅读 418 评论 0

摘要:本篇主要介绍了Java开发入门到实战--【Java】通讯录管理系统小项目,通过具体的内容展现,希望对Java开发的学习有一定的帮助。

本篇主要介绍了Java开发入门到实战--【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开发入门到实战--【Java】通讯录管理系统小项目


✅  扫码免费获取基础课程·答疑解惑·职业测评

Java开发入门到实战--【Java】通讯录管理系统小项目


本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程