2020-01-03電話本管理系統(tǒng)數(shù)組版

需求:
一、電話本管理系統(tǒng)

1.主界面

主界面.png

2.添加

添加.png

2.修改

1)無信息

修改.png

2)正常修改

正常修改.png

3 . 打印所有電話本

[圖片上傳失敗...(image-9494fd-1578037644507)]

4.刪除

刪除.png

再次選擇4,查詢所有,張三的信息已刪除

再次選擇.png

0.退出系統(tǒng)

分析:數(shù)組版電話本管理系統(tǒng)-----無法持久化(數(shù)組,集合ArrayList)-----如何持久化?文件--->數(shù)據(jù)庫MySQL...
需求:電話本信息進(jìn)行添加、刪除、修改、查詢的操作
數(shù)據(jù)如何存儲: 一維數(shù)組 數(shù)據(jù)類型[] 數(shù)組名;
|----數(shù)據(jù)類型和電話本每一條信息的數(shù)據(jù)類型一致----->自定義類型----->設(shè)計(jì)類TelephoneItem
|----TelephoneItem[] items = new TelephoneItem[100];

toString()方法
System.out.println(對象名)
System.out.println(對象名.toString()) 繼承

1.創(chuàng)建類TelephoneItem:屬性方法

package com.hpe.telephone;
/*
 * 表示電話本單條記錄
 */
public class TelePhoneItem {
    //屬性
    private String name;
    private String gender;
    private int age;//基本數(shù)據(jù)類型的包裝類
    private String tel;
    private String qq;
    private String addr;
    //封裝特性 private成員變量
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getTel() {
        return tel;
    }
    public void setTel(String tel) {
        this.tel = tel;
    }
    public String getQq() {
        return qq;
    }
    public void setQq(String qq) {
        this.qq = qq;
    }
    public String getAddr() {
        return addr;
    }
    public void setAddr(String addr) {
        this.addr = addr;
    }
    @Override
    public String toString() {
        return "TelePhoneItem [name=" + name + ", gender=" + gender + ", age=" + age + ", tel=" + tel + ", qq=" + qq
                + ", addr=" + addr + "]";
    }

    
    
}

2.創(chuàng)建類TelephoneBook:電話本的增刪改差

package com.hpe.telephone;
/*
 * 表示電話本的類,最多能夠存放100條記錄
 */

import sun.net.www.content.text.plain;

public class TelephoneBook {
    private TelePhoneItem items[]=new TelePhoneItem[100];
    //查詢所有
    public TelePhoneItem[] getItems() {
        return items;
    }

    public void setItems(TelePhoneItem[] items) {
        this.items = items;
    }
    //添加
    public boolean add(TelePhoneItem item) {
//      for ( TelePhoneItem telePhoneItem : items) {
//          System.out.println(telePhoneItem);
//      }
        for (int i = 0; i < items.length; i++) {
            if (items[i]==null) {
                items[i]=item;
                return true;
            }
        }
        return false;
    }
    
    
    //根據(jù)姓名查詢
    public  TelePhoneItem findByName(String name) {
        for (int i = 0; i < items.length; i++) {
            if (items[i]!=null&&items[i].getName().equals(name)==true) {
                return items[i];
            }
        
        }
        return null;
    }
    
    //刪除
    public boolean  del(String name) {
        for (int i = 0; i < items.length; i++) {
            if (items[i]!=null&&items[i].getName().equals(name)==true) {
                items[i]=null;
                return true;
            }
        }
        return false;
    }

    //修改
    public boolean  chg(String name,TelePhoneItem item) {
        for (int i = 0; i < items.length; i++) {
            if (items[i]!=null&&items[i].getName().equals(name)==true) {
                items[i]=item;
                return true;
            }
        }
        return false;
    }
}

3.主函數(shù)UI界面調(diào)用和邏輯

package com.hpe.telephone;
import java.util.Scanner;
public class Ui {
    

    public static void main(String[] args) {
        TelephoneBook book=new TelephoneBook();
        Scanner sc=new Scanner(System.in);
        while (true) {
            help();
            String choose=sc.next();
            switch(choose){
            case "1":
                System.out.println("————————————添加電話本——————————————");
                System.out.print("姓名:");
                String nameAdd=sc.next();
                if(book.findByName(nameAdd)!=null){
                    System.out.println("要添加的姓名和當(dāng)前電話本中的記錄重復(fù),不能添加...");
                    break;          
                }
                System.out.print("性別:");
                String genderAdd=sc.next();
                System.out.print("年齡:");
                int ageAdd=sc.nextInt();
                System.out.print("電話:");
                String telAdd=sc.next();
                System.out.print("qq:");
                String qqAdd=sc.next();
                System.out.print("地址:");
                String addrAdd=sc.next();
                
                TelePhoneItem itemAdd=new TelePhoneItem();
                itemAdd.setName(nameAdd);
                itemAdd.setGender(genderAdd);
                itemAdd.setAge(ageAdd);
                itemAdd.setTel(telAdd);
                itemAdd.setQq(qqAdd);
                itemAdd.setAddr(addrAdd);
                boolean addResult=book.add(itemAdd);
                if (addResult==true) {
                    System.out.println(itemAdd);
                    System.out.println("添加成功");
                }else {
                    System.out.println("電話本已滿,添加失敗");
                }
                break;
            case "2":
                System.out.println("請輸入要刪除的記錄對應(yīng)的姓名:");
                String nameDel=sc.next();
                TelePhoneItem itemDel=book.findByName(nameDel);
                if(itemDel==null){
                    System.out.println("要刪除的信息不存在...");
                    break;
                }else {
                    System.out.println(itemDel);
                }
                book.del(nameDel);
                System.out.println("刪除成功");
                break;
            case "3":
                /*
                 * 前提:電話本中的所有記錄的姓名不能重復(fù)
                 * 1.如果修改之后的名字和修改之前的名字相同,可以修改
                 * 2.修改之后的名字和其他項(xiàng)的名字相同,不能修改
                 * 3.如何知道修改后和其他項(xiàng)是否為同一項(xiàng)
                 */
                System.out.println("請輸入要修改的姓名:");
                String nameWantChg=sc.next();
                TelePhoneItem itemWantChg=book.findByName(nameWantChg);
                if (itemWantChg==null) {
                    System.out.println("要修改的項(xiàng)不存在");
                    break;
                }
                System.out.print("姓名:");
                //修改后的名字
                String nameChg=sc.next();
                TelePhoneItem itemOther=book.findByName(nameChg);
                if (itemOther!=null&&itemOther!=itemWantChg){
                    System.out.println("修改后有重名,不能修改...");
                    break;
                }
                System.out.print("性別:");
                String genderChg=sc.next();
                System.out.print("年齡:");
                int ageChg=sc.nextInt();
                System.out.print("電話:");
                String telChg=sc.next();
                System.out.print("qq:");
                String qqChg=sc.next();
                System.out.print("地址:");
                String addrChg=sc.next();
                
                
                itemWantChg.setName(nameChg);
                itemWantChg.setGender(genderChg);
                itemWantChg.setAge(ageChg);
                itemWantChg.setTel(telChg);
                itemWantChg.setQq(qqChg);
                itemWantChg.setAddr(addrChg);
                
                break;
            case "4":
                TelePhoneItem[]allItem=book.getItems();
                for (TelePhoneItem item : allItem) {
                    if (item!=null) {
                        System.out.println(item);
                    }
                    
                }
                break;
            case "5":
                System.out.print("請輸入姓名");
                String nameFind=sc.next();
                
                TelePhoneItem itemFind=book.findByName(nameFind);
                if(itemFind!=null){
                    System.out.println(itemFind);
                    
                }else {
                    System.out.println("您要查詢的信息不存在...");
                }
                break;
            case "0":
                System.out.println("退出");
                System.exit(0);
                break;
            default:
                System.out.println("請根據(jù)提示選擇......");
            
            }
        }

    }

    
    
    
    public static void help() {
        System.out.println("——————————————————————電話本管理系統(tǒng)———————————————————————");
        System.out.println("1.添加\t2.刪除\t3.修改\t4.查詢所有\(zhòng)t5.根據(jù)姓名查詢\t0.退出");
        System.out.println("——————————————————————電話本管理系統(tǒng)———————————————————————");
        System.out.println("請選擇業(yè)務(wù):");//換行shift+enter
                
    }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容