欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)通訊錄管理系統(tǒng)項(xiàng)目

 更新時(shí)間:2021年11月03日 11:32:12   作者:執(zhí)久呀  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)通訊錄管理系統(tǒng)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Java實(shí)現(xiàn)通訊錄管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

一、前言

我們學(xué)了這么久的知識(shí)了,光學(xué)知識(shí)不會(huì)用是一件很悲傷的事情,所以我們應(yīng)學(xué)完

部分練一些項(xiàng)目或題,來(lái)鞏固我們學(xué)習(xí)的知識(shí),激發(fā)我們持續(xù)學(xué)習(xí)的動(dòng)力。

二、創(chuàng)建通訊的功能

  • 增加聯(lián)系人信息
  • 刪除聯(lián)系人信息
  • 修改聯(lián)系人信息
  • 查看所有聯(lián)系人信息
  • 退出通信錄管理系統(tǒng)

首先定義一個(gè)People類,提供相應(yīng)的get、set方法

(在idea中有快捷鍵Alt+insert生成get、set方法,和構(gòu)造方法)

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類中加上菜單,并在測(cè)試類中去調(diào)用。

public void 菜單(){
            System.out.println("-------歡迎來(lái)到通訊錄管理系統(tǒng)-------");
            System.out.println("1.增加聯(lián)系人");
            System.out.println("2.刪除聯(lián)系人");
            System.out.println("3.修改聯(lián)系人");
            System.out.println("4.查看所有聯(lián)系人");
            System.out.println("5.退出");
            System.out.println("請(qǐng)選擇:");
    }

我們?yōu)榱四苤苯油ㄟ^(guò)打印對(duì)象來(lái)得到我們想要得到信息,而不是得到

查看所有輸入的信息,沒(méi)有重寫toString時(shí): [controller.Student@6e0be858]

重寫了toString方法就可以得到看得懂。也可以通過(guò)Alt+Inset快捷鍵來(lái)快速生成toString方法

@Override
    public String toString(){//重寫toString方法,使其變成我們看得懂的指定的信息
        return "[姓名:"+name+",年齡:"+age+",電話:"+num+",關(guān)系:"+sid+",住址:"+address+"]\n";
    }
 }

以上都是在People類中。

我們?cè)赑eopleManner類下,書寫以下方法。

main方法中:

public static void main(String[] args) {
        ArrayList<People> array = new ArrayList();
        while (true) {
            People s = new People();//創(chuàng)建對(duì)象,調(diào)用方法。
            s.菜單();
            Scanner sc1 = new Scanner(System.in);
            int d = sc1.nextInt();
            switch (d) {
                case 1: {
                    addPeople(array);
                    System.out.println("添加聯(lián)系人成功");
                    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("輸入錯(cuò)誤,請(qǐng)重新輸入");
                }
            }
        }

在增加聯(lián)系人的方法addPeople中

public static void addPeople(ArrayList<People> array){
        Scanner sc=new Scanner(System.in);
         System.out.println("請(qǐng)輸入姓名");
         String name=sc.nextLine();
         System.out.println("請(qǐng)輸入電話號(hào)碼");
         String num=sc.nextLine();
         System.out.println("請(qǐng)輸入你們之間的關(guān)系");
        String sid=sc.nextLine();
         System.out.println("請(qǐng)輸入年齡");
         String age=sc.nextLine();
         System.out.println("請(qǐng)輸入家庭住址");
         String address=sc.nextLine();
         People s1=new People();//創(chuàng)建對(duì)象,調(diào)用set成員,設(shè)置成員的值
         s1.setAddress(address);
         s1.setAge(age);
         s1.setName(name);
         s1.setSid(sid);
         s1.setNum(num);
         array.add(s1);//將所有設(shè)置的變量加到集合中
     }

在查看所有聯(lián)系人的方法checkPeople中

public static void checkPeople(ArrayList<People> array){
        if(array.isEmpty()){//isEmpty是用來(lái)判斷非空的是collection接口的方法,ArrayList實(shí)現(xiàn)了 
        list接口,list接口繼承了collection接口
            System.out.println("沒(méi)有聯(lián)系人信息,請(qǐng)先添加聯(lián)系人后查看");
        }
        else{
            System.out.println(array);}//查看所有輸入的信息,沒(méi)有重寫toString時(shí): 
             //[controller.Student@6e0be858]
     }

在刪除聯(lián)系人信息方法中

public static void deletePeople(ArrayList<People> array){
        if(array.isEmpty()){
            System.out.println("沒(méi)有聯(lián)系人信息,請(qǐng)先添加聯(lián)系人信息再操作");
        }
        else{
           Scanner sc=new Scanner(System.in);
            System.out.println("請(qǐng)輸入你要?jiǎng)h除聯(lián)系人名字");
              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包括了一個(gè)元素聯(lián)系人的所有信(name,age...)
                  if(stu.getName().equals(num)) {
                     array.remove(i);sum++;//定義一個(gè)變量用來(lái)判斷是否含有該元素
                      System.out.println("刪除成功");
                  }
               }
               if(sum==0){
                   System.out.println("刪除失敗,該聯(lián)系人信息不存在");
               }
        }
     }

在定義修改聯(lián)系人信息的方法中

public static void revisePeople(ArrayList<People> array) {
          if (array.isEmpty()) {
              System.out.println("沒(méi)有聯(lián)系人信息!請(qǐng)?zhí)砑雍笤谶M(jìn)行操作");
          } else {
              Scanner sc1 = new Scanner(System.in);
              System.out.println("請(qǐng)輸入你要修改聯(lián)系人的姓名");
              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("沒(méi)有匹配的姓名,重新輸入");
              }else{
              Scanner sc = new Scanner(System.in);
              System.out.println("請(qǐng)輸入新姓名");
              String name = sc.nextLine();
              System.out.println("請(qǐng)輸入新電話碼");
              String num = sc.nextLine();
              System.out.println("請(qǐng)輸入你們之間的關(guān)系");
              String sid = sc.nextLine();
              System.out.println("請(qǐng)輸入新年齡");
              String age = sc.nextLine();
              System.out.println("請(qǐng)輸入新地址");
              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也是一個(gè)包含聯(lián)系人所有信息的元素,所以后續(xù)用array.set(i,s1)等價(jià)交換
              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;
                  }
 
              }
              }
          }
 
      }

最終效果總覽圖:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • OGNL表達(dá)式基本語(yǔ)法與用法詳解

    OGNL表達(dá)式基本語(yǔ)法與用法詳解

    這篇文章主要介紹了OGNL表達(dá)式基本語(yǔ)法與用法詳解,具有一定參考價(jià)值。需要的朋友可以了解下。
    2017-09-09
  • MyBatis處理枚舉類型的方法詳解

    MyBatis處理枚舉類型的方法詳解

    MyBatis 處理枚舉類型的機(jī)制相對(duì)直接,它提供了一種靈活的方式來(lái)處理Java枚舉(enum)類型和數(shù)據(jù)庫(kù)之間的映射,本文給大家介紹了MyBatis處理枚舉類型的兩種方法,需要的朋友可以參考下
    2024-07-07
  • springboot jdbctemplate如何實(shí)現(xiàn)多數(shù)據(jù)源

    springboot jdbctemplate如何實(shí)現(xiàn)多數(shù)據(jù)源

    這篇文章主要介紹了springboot jdbctemplate如何實(shí)現(xiàn)多數(shù)據(jù)源問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • java設(shè)計(jì)模式之適配器模式

    java設(shè)計(jì)模式之適配器模式

    這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式之適配器模式,介紹了什么是適配器模式,適配器模式的種類,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Java和C++通過(guò)new創(chuàng)建的對(duì)象有何區(qū)別?

    Java和C++通過(guò)new創(chuàng)建的對(duì)象有何區(qū)別?

    Java和C++都是面向?qū)ο蟮木幊陶Z(yǔ)言,然而Java和C++在創(chuàng)建對(duì)象時(shí)卻存在不同的方式,由于方式的不同導(dǎo)致在內(nèi)存中管理的不同。這篇文章主要給大家介紹了關(guān)于Java和C++通過(guò)new創(chuàng)建對(duì)象區(qū)別的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-11-11
  • 詳解Java動(dòng)態(tài)代理的實(shí)現(xiàn)機(jī)制

    詳解Java動(dòng)態(tài)代理的實(shí)現(xiàn)機(jī)制

    這篇文章主要為大家詳細(xì)介紹了Java動(dòng)態(tài)代理的實(shí)現(xiàn)機(jī)制,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 深入解析Java反射之基礎(chǔ)篇

    深入解析Java反射之基礎(chǔ)篇

    JAVA反射機(jī)制是在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)類,都能夠知道這個(gè)類的所有屬性和方法,這篇文章主要給大家介紹了關(guān)于Java反射之基礎(chǔ)篇的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • java錯(cuò)誤:?不支持發(fā)行版本?22的簡(jiǎn)單解決方法

    java錯(cuò)誤:?不支持發(fā)行版本?22的簡(jiǎn)單解決方法

    這篇文章主要給大家介紹了關(guān)于java錯(cuò)誤:?不支持發(fā)行版本?22的簡(jiǎn)單解決方法,這個(gè)錯(cuò)誤通常是由于Java版本不兼容導(dǎo)致的,請(qǐng)檢查您的項(xiàng)目所使用的Java版本是否與您當(dāng)前安裝的Java版本一致,需要的朋友可以參考下
    2024-06-06
  • Java異步線程中的CompletableFuture與@Async詳解

    Java異步線程中的CompletableFuture與@Async詳解

    這篇文章主要介紹了Java異步線程中的CompletableFuture與@Async詳解,CompletableFuture是java中提供的一個(gè)異步執(zhí)行類,@Async是Spring提供的異步執(zhí)行方法,當(dāng)調(diào)用方法單獨(dú)開(kāi)啟一個(gè)線程進(jìn)行調(diào)用,需要的朋友可以參考下
    2024-01-01
  • Java枚舉類型與泛型使用解讀

    Java枚舉類型與泛型使用解讀

    這篇文章主要介紹了Java枚舉類型與泛型使用解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評(píng)論