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;
                  }
 
              }
              }
          }
 
      }

最終效果總覽圖:

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: