App下載

Java項(xiàng)目案例之客戶信息管理系統(tǒng)的實(shí)現(xiàn)

猿友 2021-07-23 11:41:23 瀏覽數(shù) (2475)
反饋

本篇文章將使用所學(xué)過的Java知識(shí)來實(shí)現(xiàn)一個(gè)簡(jiǎn)單的客戶信息管理系統(tǒng)的小項(xiàng)目,下面內(nèi)容是具體地實(shí)現(xiàn)過程,這篇文章供大家參考學(xué)習(xí),希望能幫助到大家。

類圖:

2021413120331615

Customer類:

public class Customer {
    /**
     * @name 客戶姓名
     * @sex 性別
     * @age 年齡
     * @phone 電話號(hào)碼
     * @email 郵箱
     */
    private String name;
    private String sex;
    private int age;
    private String phone;
    private String email;
    public Customer(){};
    public Customer(String name,String sex,int age,String phone,String email){
        this.name=name;
        this.sex=sex;
        this.age=age;
        this.phone=phone;
        this.email=email;
    }
    public String getName(){
        return this.name;
    }
    public void setName(String name){
        this.name=name;
    }
    public String getSex(){
        return this.sex;
    }
    public void setSex(String sex){
        this.sex=sex;
    }
    public String getPhone(){
        return phone;
    }
    public void setPhone(String phone){
        this.phone=phone;
    }
    public int getAge(){
        return this.age;
    }
    public void setAge(int age){
        this.age=age;
    }
    public String getEmail(){
        return this.email;
    }
    public void setEmail(String email){
        this.email=email;
    }
}

CustomerList 類:

public class CustomerList {
        private Customer [] customers;
        private static int total = 0;
    /**
     * 構(gòu)造器初始化對(duì)象數(shù)組
     * @param totalCustmoers 客戶的總數(shù)
     */
    public CustomerList(int totalCustmoers){
        customers = new Customer[totalCustmoers];
    }

    /**
     * 增加客戶
     * @param customer 客戶
     * @return 返回是否添加成功
     */
        public boolean addCustomer(Customer customer){
            if(customer!=null&&total<customers.length)
            {customers[total]=customer;
                total++;
              return true;}
            else
            { return false;}
        }

    /**
     *替換
     * @param index 指定的客戶的編號(hào)
     * @param cust 修改的客戶
     * @return 返回是否修改成功
     */
        public boolean replaceCustomer(int index,Customer cust){
            if(index>=0 && index <total )
            {
                customers[index]=cust;return true;
            }
            else
            {
                return false;
            }
        }

    /**
     *刪除客戶
     * @param index 指定的客戶的編號(hào)
     * @return 返回是否刪除成功
     */
    public boolean deleteCustomer(int index){
        if(index<customers.length)
        {
            for(int i=index;i<total-1;i++)
            {
                customers[i]=customers[i+1];/**把數(shù)據(jù)往前挪動(dòng)*/
            }
                customers[total-1]=null;
                total--;/**存儲(chǔ)的數(shù)據(jù)的總數(shù)-1*/
             return true;
        }
        else
        {
            return false;
        }
    }

    /**
     * 展現(xiàn)客戶的信息
     * @param index
     * @return 返回客戶
     */
    public Customer getCustomer(int index){
        if(index>=0 && index<total)
        {return customers[index];}
        else {
            return null;
        }
    }

    /**
     * 獲取所有的客戶
     * @return 客戶
     */
    public Customer[] getAllCustomers(){
            Customer [] cust = new Customer[total];/**新建一個(gè)數(shù)組來接收原數(shù)組的數(shù)據(jù)*/
            for(int i=0;i<total;i++){
                cust[i]=customers[i];
            }
            return cust;
    }

    /**
     * 得到客戶的總數(shù)
     * @return
     */
    public int getTotal(){
        return total;
    }
}

CustomerVIew類:

public class CustomerView {
    private CustomerList customerList = new CustomerList(10);

    /**
     * 顯示主菜單
     */
    public void enterMainMenu(){

        while(true)
        {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("-----------------------------------------------------");
            Scanner input = new Scanner(System.in);
            int op = input.nextInt();
            switch(op)
            {
                case 1 :this.addNewCustomer();break;
                case 2 :this.modifyCustomer();break;
                case 3 :this.deleteCustomer();break;
                case 4 :this.listAllCustomers();break;
                case 5 :System.exit(0);break;
                default:
                    System.out.println("重新選擇功能");break;
            }
        }
    }


    /**
     * 增加客戶
     */
    private void addNewCustomer(){
        /**
         * 從鍵盤處接收客戶數(shù)據(jù)
         */
        System.out.println("-------------------添加客戶-------------------");
        Scanner input = new Scanner(System.in);
        System.out.println("姓名:");
        String name = input.next();
        System.out.println("性別:");
        String sex=input.next();
        System.out.println("年齡:");
        int age = input.nextInt();
        System.out.println("電話號(hào)碼:");
        String phone = input.next();
        System.out.println("電子郵箱:");
        String email = input.next();
        /**
         * 對(duì)客戶數(shù)據(jù)進(jìn)行封裝
         */
        Customer person = new Customer(name,sex,age,phone,email);
        Boolean flag=customerList.addCustomer(person);
        if(flag)
        {
            System.out.println("-------------------添加成功-------------------");
        }
        else
        {
            System.out.println("-------------------添加失敗-------------------");
        }
    }

    /**
     * 修改客戶信息
     */
    private void modifyCustomer(){
        System.out.println("-------------------修改客戶-------------------");
        System.out.println("要修改的客戶id:");
        Scanner input = new Scanner(System.in);
        int number = input.nextInt();
            Customer customer = customerList.getCustomer(number);
        System.out.println("姓名:"+customer.getName());
        String name = CMUtility.readString(5,customer.getName());
        System.out.println("性別:"+customer.getSex());
        String sex = CMUtility.readString(5,customer.getSex());
        System.out.print("年齡(" + customer.getAge() + "):");
        int age = CMUtility.readInt(customer.getAge());
        System.out.print("電話(" + customer.getPhone() + "):");
        String phone = CMUtility.readString(13, customer.getPhone());
        System.out.print("郵箱(" + customer.getEmail() + "):");
        String email = CMUtility.readString(15, customer.getEmail());
        /**得到新的客戶數(shù)據(jù)*/
        customer = new Customer(name,sex,age,phone,email);
        Boolean flag = customerList.replaceCustomer(number,customer);
        if(flag)
        {
            System.out.println("-------------------修改成功-------------------");
        }
        else
        {
            System.out.println("-------------------修改失敗-------------------");
        }
    }

    /**
     * 刪除客戶
     */
    private void deleteCustomer(){
        System.out.println("-------------------刪除客戶-------------------");
        System.out.println("要?jiǎng)h除的客戶id:");
        Scanner input = new Scanner(System.in);
        int number = input.nextInt();
        while(true){
            System.out.println("退出(-1)");
        if(number>=0 && number<customerList.getTotal())
        {
            System.out.println("找到指定客戶");
        }
        else if(number==-1)
        {
            return;
        }
        else
        {
            System.out.println("輸入錯(cuò)誤");break;
        }}
        System.out.println("是否確認(rèn)刪除該客戶?Y/N");
        String ch = input.next();
        char o = ch.charAt(0);
        if(o=='Y')
        {
           boolean flag = customerList.deleteCustomer(number);
           if(flag){
               System.out.println("-------------------刪除成功-------------------");
           }
           else
           {
               System.out.println("-------------------刪除失敗-------------------");
           }
        }
        else{
            return;
    }
}
/**
 * 獲取客戶列表
 */
private void listAllCustomers(){
    Customer [] customer=customerList.getAllCustomers();
    if(customer.length==0)
    {
        System.out.println("沒有任何客戶數(shù)據(jù)");
    }
    else{
    for(int i=0;i< customer.length;i++)
    {
        System.out.println("姓名:"+customer[i].getName()+"	"+"性別"+customer[i].getSex()+"	"+"年齡:"+customer[i].getAge()+"	"+"電話號(hào)碼:"+customer[i].getPhone()+"	"+"電子郵箱:"+customer[i].getEmail()+"	");
    }
}}

    public static void main(String[] args) {
        CustomerView co = new CustomerView();
        co.enterMainMenu();
    }
}

工具類:

public class CMUtility {
        private static Scanner scanner = new Scanner(System.in);
           public static String readString(int limit) {
            return readKeyBoard(limit, false);
        }
           public static int readInt(int defaultValue) {
            int n;
            for (; ; ) {
                String str = readKeyBoard(2, true);
                if (str.equals("")) {
                    return defaultValue;
                }
                try {
                    n = Integer.parseInt(str);
                    break;
                } catch (NumberFormatException e) {
                    System.out.print("數(shù)字輸入錯(cuò)誤,請(qǐng)重新輸入:");
                }
            }
            return n;
        }

總結(jié)

到此這篇關(guān)于使用 Java 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的客戶信息管理系統(tǒng)的小項(xiàng)目的文章就介紹到此結(jié)束了,想要了解相關(guān) Java 項(xiàng)目應(yīng)用的其他內(nèi)容請(qǐng)搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,也希望大家以后多多支持我們!

0 人點(diǎn)贊