java實現電話本系統

本文實例為大傢分享瞭java模擬實現電話本系統的具體代碼,供大傢參考,具體內容如下

java 模擬 電話本系統 (基礎版)

需求:註意的是,聯系人的id是自增長的

實現的功能:

java綜合編程練習:基本的增刪改查,對於邏輯數據的過濾,這塊做瞭簡單的處理,暫不優化

ContactPerson.java

package com.demo4;

/**1、新增一個聯系人,聯系人的編號從1開始自動增長,姓名,性別,年齡,手機號,
  身份證號由用戶從控制臺錄入*/
public class ContactPerson {

    /*這裡用靜態標識,di為自增長*/
    private  static int   count=0;

    private  int id;
    private  String name;
    private  String sex;
    private  int age;
    private  String phoneNo;
    private  String IdCard;

    public ContactPerson(){}

    public ContactPerson(String name, String sex, int age, String phoneNo, String idCard) {
            this.name = name;
            this.sex = sex;
            this.age = age;
            this.phoneNo = phoneNo;
            IdCard = idCard;
            /*靜態id為自增長*/
            this.id = ++count;
    }

    public int getId() {
        return 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 getPhoneNo() {
        return phoneNo;
    }

    public void setPhoneNo(String phoneNo) {
        this.phoneNo = phoneNo;
    }

    public String getIdCard() {
        return IdCard;
    }

    public void setIdCard(String idCard) {
        IdCard = idCard;
    }

    public static int getCount() {
        return count;
    }

    public void  show() {
        System.out.println(
               "【 編號 =" + id + "  姓名=" + name + ", 性別=" + sex + ", 年齡=" + age + ", 電話號碼=" + phoneNo + ", 證件號=" + IdCard +" 】" );
      }


}

PhoneBook.java

package com.demo4;

import java.util.Arrays;

public class PhoneBook {

    private  ContactPerson[] contactPersons  ;
    private  int size;

    public PhoneBook(){
        contactPersons= new ContactPerson[20];
        size=0;
    }

        //1. 新增一個聯系人
        public void  addContPerson(String name,String sex,int age, String phoneNo, String IdCard){
          ContactPerson person = new ContactPerson(name,sex,age,phoneNo,IdCard);
          contactPersons[size++]= person;
            System.out.println("添加成功");
        }

        // 2.查找指定的聯系人
     public ContactPerson[] findByName(String name){

        ContactPerson[] newContPersons = new ContactPerson[size];
        int length=0;

        int i;
        for(i=0; i<size; i++){
            if(contactPersons[i].getName().equals(name)){
                newContPersons[length++] =contactPersons[i];
            }
            i++;
        }

        newContPersons = Arrays.copyOf(newContPersons,length);
        return newContPersons;
     }


        //3.查找所有的聯系人
      public void   findAll(){
        for(int i=0; i<size;i++){
            contactPersons[i].show();
        }

      }

       //4. 修改聯系人信息
        public void modfyMesById(int id,String phoneNo){

        int i;
        for(i=0; i<size; i++){
            if(contactPersons[i].getId()==id){
                 contactPersons[i].setPhoneNo(phoneNo);
                System.out.println("修改成功");
                 break;
            }
        }
        if(i>=size){
            System.out.println("修改有誤");
        }

   }

        //5.刪除聯系人信息
         public void delContPerson(int id) {
             int i;
             for(i=0; i<size; i++) {
                 if (contactPersons[i].getId() == id) {
                     break;
                 }
             }
             if(i>=size){
                 System.out.println("刪除有誤");
             }else{
                 for(int j=size-2; j>=i; j++){
                     contactPersons[j]=contactPersons[j+1];
                 }
                 size--;
                 System.out.println("刪除成功");
             }
        }
}

test.java

package com.demo4;

import java.util.Scanner;

public class test {

    public static void main(String[] args) {
      /*  1. 新增一個聯系人
        2.查找指定的聯系人
        3.查找所有的聯系人
        4. 修改聯系人信息
        5.刪除聯系人信息
        6.退出系統*/
       PhoneBook phoneBook = new PhoneBook();
        System.out.println("==================電話本系統===================");
        Scanner sc =new Scanner(System.in);
       prof: while(true) {

            while (true) {
                System.out.println("---------------------------------------------------------");
                System.out.println("1,【添加聯系人】  2,【查找聯系人】  3,【瀏覽所有】");
                System.out.println("4,【修改聯系人】  5,【刪除聯系人】  6,【退出系統】");
                System.out.println("----------------------------------------------------------");

                System.out.print("選擇操作【標號】:");
                if(!sc.hasNextInt()){
                    sc.next();
                    System.out.println("輸入有序,【重新】輸入");
                    continue ;
                }
                int num = sc.nextInt();
                switch (num) {
                    case 1:
                        System.out.println("進入【添加】操作:");
                        System.out.println("添加操作");
                        System.out.print("輸入姓名:");String name =sc.next();
                        /*這裡對性別做瞭簡單限制,男或者女,其他輸入暫且不做判斷,可以自行優化*/
                        while(true) {
                            System.out.print("輸入性別:");
                            String sex = sc.next();
                            if (!("男".equals(sex) || "女".equals(sex))) {
                                System.out.println("輸入有誤,【重新】輸入");
                                continue;
                            }
                            System.out.print("輸入年齡: ");Integer age = sc.nextInt();
                            System.out.print("輸入電話號碼:");String phoneNo = sc.next();
                            System.out.print("輸入證件號:");String idCard = sc.next();
                            phoneBook.addContPerson(name,sex,age,phoneNo,idCard);
                            break;
                        }
                    case 2:
                        System.out.println("進入【查詢】操作:");
                        System.out.print("輸入聯系人【姓名】");String fname = sc.next();
                        ContactPerson[] contactPeoples=phoneBook.findByName(fname);
                        if(contactPeoples!=null){
                            for(ContactPerson contactPeople : contactPeoples){
                                   contactPeople.show();
                            }
                            System.out.println("查詢成功");
                        }else{
                            System.out.println("暫無信息");
                        }
                        break;

                    case 3:
                        System.out.println("進入【瀏覽】操作:");
                        phoneBook.findAll();
                        break;

                    case 4:
                        System.out.println("進入【修改】操作:");
                        System.out.print("輸入修改的【標號】: ");
                        int id =sc.nextInt();
                        System.out.print("將【手機號】修改成: ");
                        String newphoneNo = sc.next();
                        phoneBook.modfyMesById(id,newphoneNo);
                        break;

                    case 5:
                            System.out.println("進入【刪除】操作:");
                          while(true) {
                            System.out.println("輸入要刪除標【標號】:");
                            /*這裡做一下簡單判斷,輸入整數才可以*/
                            if (!sc.hasNextInt()) {
                                System.out.println("輸入有誤,【重新】輸入");
                                sc.next();
                                continue;
                            }
                            int delid = sc.nextInt();
                            phoneBook.delContPerson(delid);
                            break;
                        }break;
                    case 6:
                        System.out.println("退出成功");
                        break prof;
                }
            }
         }
     }
}

運行截圖:

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

推薦閱讀: