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

詳解Java如何使用集合來實現(xiàn)一個客戶信息管理系統(tǒng)

 更新時間:2021年11月11日 11:32:36   作者:代碼小k  
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java 集合實現(xiàn)一個客戶信息管理系統(tǒng),大家可以在過程中查缺補漏,提升水平

1 客戶類

public class Customers {
    private String cid;
    private String name;
    private String sex;
    private String age;
    private String call;
    private String email;

    public Customers() {
    }

    public Customers(String cid,String name, String sex, String age, String call, String email) {
        this.cid=cid;
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.call = call;
        this.email = email;
    }

    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 String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getCall() {
        return call;
    }

    public void setCall(String call) {
        this.call = call;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email){
        this.email = email;
    }

    public String getCid() {
        return cid;
    }

    public void setCid(String cid) {
        this.cid = cid;
    }
}




2 主界面

public class Customermanager {
    public static void main(String[] args)   {
        ArrayList<Customers> array = new ArrayList<Customers>();

        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( "請選擇1-5" );

            Scanner sc = new Scanner( System.in );
            String line = sc.nextLine();

            switch (line) {
                case "1":
                    //System.out.println( "1 添加客戶" );
                    addCustomer( array );
                    break;
                case "2":
                    //System.out.println( "2 修改客戶" );
                    modifyCustomer( array );
                    break;
                case "3":
                    //System.out.println( "3 刪除客戶" );
                    deleteCustomer( array );
                    break;
                case "4":
                    //System.out.println( "4 查看所有客戶" );
                    findCustomer( array );
                    break;
                case "5":
                    System.out.print("確認是否退出(Y/N):");
                    String y = sc.nextLine();
                    if (y.equals( "Y" ))
                    {
                        System.exit( 0 );
                    }


            }
        }

    }

3 方法

(1)添加客戶

public static void addCustomer(ArrayList<Customers> array ){
        Scanner sc = new Scanner( System.in );
        String cid;

        while (true){
            System.out.println("請輸入客戶編號");
            cid = sc.nextLine();
            boolean flag =isUsed( array,cid );
            if (flag){
                System.out.println("編號被占用,請重新輸入");

            }else {
                break;
            }
        }




        System.out.println("請輸入客戶姓名");
        String name = sc.nextLine();
        System.out.println("請輸入客戶性別");
        String sex = sc.nextLine();
        System.out.println("請輸入客戶年齡");
        String age = sc.nextLine();
        System.out.println("請輸入客戶電話");
        String call = sc.nextLine();
        System.out.println("請輸入客戶郵箱");
        String email = sc.nextLine();

        Customers c = new Customers();
        c.setCid( cid );
        c.setName( name );
        c.setSex( sex );
        c.setAge( age );
        c.setCall( call );
        c.setEmail( email );
        array.add( c);

        System.out.println("添加成功");

    }

(2)判斷編號是否被占用

 public static boolean isUsed(ArrayList<Customers>array ,String cid){
        boolean flag = false;
        for (int i = 0; i <array.size() ; i++) {
            Customers s = array.get( i );
            if (s.getCid().equals( cid )){
                flag = true;
                break;
            }

        }
        return flag;
    }

(3)修改客戶信息

public static void modifyCustomer(ArrayList<Customers> array ){
        Scanner sc= new Scanner( System.in );
        System.out.println("請輸入要修改的客戶編號");
        String cid = sc.nextLine();
        System.out.println("請輸入客戶姓名");
        String name = sc.nextLine();
        System.out.println("請輸入客戶性別");
        String sex = sc.nextLine();
        System.out.println("請輸入客戶年齡");
        String age = sc.nextLine();
        System.out.println("請輸入客戶電話");
        String call = sc.nextLine();
        System.out.println("請輸入客戶郵箱");
        String adress = sc.nextLine();
        String email = sc.nextLine();
        Customers c = new Customers();
        c.setCid( cid );
        c.setName( name );
        c.setSex( sex );
        c.setAge( age );
        c.setCall( call );
        c.setEmail( email );

        for (int i = 0; i <array.size() ; i++) {
            Customers customers = array.get( i );
            if (customers.getCid().equals( cid )){
                array.set( i,c );
                break;
            }

        }
        System.out.println("修改客戶信息成功");

    }

(4)刪除客戶

 public static void deleteCustomer(ArrayList<Customers> array ){
        Scanner sc = new Scanner( System.in );
        System.out.println("請輸入要刪除的客戶編號(-1退出)");
        String cid = sc.nextLine();
        if (cid.equals( "-1" )){
            return;
        }
            int index = -1;
            for (int i = 0; i < array.size(); i++) {
                Customers s = array.get( i );
                if (s.getCid().equals( cid )) {
                    index = i;
                    break;
                }
            }
            if (index == -1) {
                System.out.println( "該信息不存在,請重新輸入" );
            } else {
                System.out.println("確認是否刪除(Y/N):");
                String s = sc.nextLine();
                if (s.equals( "Y" )|s.equals( "y" )){
                    array.remove( index );
                    System.out.println( "刪除成功" );
                }
        }
    }

(5)客戶列表

 public static void findCustomer(ArrayList<Customers> array ){
        if (array.size()==0){
            System.out.println("無信息,請?zhí)砑有畔⒃谠俨樵?);
            return;//為了程序不再往下執(zhí)行
        }
        System.out.println("編號\t姓名\t性別\t年齡\t\t電話\t\t郵箱");
        for (int i = 0; i <array.size() ; i++) {
            Customers s = array.get( i );

            System.out.println(s.getCid()+"\t\t"+s.getName()+"\t"+s.getSex()+"\t"+s.getAge()+"\t\t"+s.getCall()+"\t\t"+s.getEmail());

        }
    }

(6)退出

 System.out.print("確認是否退出(Y/N):");
                    String y = sc.nextLine();
                    if (y.equals( "Y" ))
                    {
                        System.exit( 0 );
                    }

4 問題總結

(1)字符串比較問題

在遇到輸入“-1”退出時碰到了問題,當時想著怎么比較String類型和int類型的數(shù)據(jù),后面知道直接用equals方法直接比較String類型數(shù)據(jù)就行。

(2)修改客戶不成功

這是錯誤代碼片

for (int i = 0; i <array.size() ; i++) {
            Customers customers = array.get( i );
            if (customers.getCid().equals( i )){
                array.set( i,customers );
                break;
            }

錯誤如下:
首先 if (customers.getCid().equals( ))這一步比較的是遍歷后的集合與輸入的cid是否相同,所以應該是與cid比較而不是i;其次, array.set( );這一步是修改指定索引處的元素,返回被修改的元素;這里是用上面存儲新的客戶信息的c來修改索引處元素,所以修改后的代碼為

for (int i = 0; i <array.size() ; i++) {
            Customers customers = array.get( i );
            if (customers.getCid().equals( cid )){
                array.set( i,c );
                break;
            }

(3)get和set方法使用時的疑惑 (為什么這里用set那里用get?)

本題中錄入數(shù)據(jù)時候多用set方法,輸出數(shù)據(jù)時用get方法。那么具體的應用場景在什么地方?
set是寫入數(shù)據(jù),get是得到數(shù)據(jù)
將類的某些信息隱藏在類內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現(xiàn)對隱藏信息的操作和訪問

成員變量private,提供對應的getXxx()/setXxx()方法
總結:明確試用場景需求,封裝之后,寫入數(shù)據(jù)用(輸入)set方法,得到數(shù)據(jù)(輸出)用get方法。

到此這篇關于詳解Java如何使用集合來實現(xiàn)一個客戶信息管理系統(tǒng)的文章就介紹到這了,更多相關Java 客戶信息管理系統(tǒng)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 一文詳細springboot實現(xiàn)MySQL數(shù)據(jù)庫的整合步驟

    一文詳細springboot實現(xiàn)MySQL數(shù)據(jù)庫的整合步驟

    Spring Boot可以很方便地與MySQL數(shù)據(jù)庫進行整合,下面這篇文章主要給大家介紹了關于springboot實現(xiàn)MySQL數(shù)據(jù)庫的整合步驟,文中通過圖文以及代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • 一篇文章帶你入門java注解

    一篇文章帶你入門java注解

    這篇文章主要介紹了Java注解詳細介紹,本文講解了Java注解是什么、Java注解基礎知識、Java注解類型、定義Java注解類型的注意事項等內容,需要的朋友可以參考下
    2021-08-08
  • 解決springboot中自定義JavaBean返回的json對象屬性名稱大寫變小寫問題

    解決springboot中自定義JavaBean返回的json對象屬性名稱大寫變小寫問題

    開發(fā)過程中發(fā)現(xiàn)查詢返回的數(shù)據(jù)出現(xiàn)自定義的JavaBean的屬性值大小寫格式出現(xiàn)問題,導致前端無法接受到數(shù)據(jù),目前有四種解決方法,根據(jù)大佬的經(jīng)驗之談,前兩種是最簡單便捷的,后兩種是比較通用的方法,需要的朋友可以參考下
    2023-10-10
  • JDK線程池和Spring線程池的使用實例解析

    JDK線程池和Spring線程池的使用實例解析

    這篇文章主要介紹了JDK線程池和Spring線程池的使用實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • 新手了解java 泛型基礎知識

    新手了解java 泛型基礎知識

    這篇文章主要給大家介紹了關于Java中泛型使用的簡單方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Java具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2021-07-07
  • jdbc與druid連接池的使用詳解

    jdbc與druid連接池的使用詳解

    這篇文章主要介紹了jdbc與druid連接池的使用詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Java線程的start方法回調run方法的操作技巧

    Java線程的start方法回調run方法的操作技巧

    面試過程中經(jīng)常會被面試官問到為什么我們調用start()方法時會執(zhí)行run()方法,為什么不能直接調用run()方法,問的一頭霧水,今天小編給大家介紹下Java線程的start方法回調run方法的操作技巧,需要的朋友參考下吧
    2017-11-11
  • 關于任務調度框架quartz使用(異常處理,解決恢復后多次調度處理)

    關于任務調度框架quartz使用(異常處理,解決恢復后多次調度處理)

    這篇文章主要介紹了關于任務調度框架quartz使用(異常處理,解決恢復后多次調度處理),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Spring的@Autowired加到接口上但獲取的是實現(xiàn)類的問題

    Spring的@Autowired加到接口上但獲取的是實現(xiàn)類的問題

    這篇文章主要介紹了Spring的@Autowired加到接口上但獲取的是實現(xiàn)類的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java反射技術詳解

    Java反射技術詳解

    這篇文章主要結合實例形式分析了介紹了Java反射技術,小編覺得這篇文章寫的還不錯,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-11-11

最新評論