最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Java如何使用集合來(lái)實(shí)現(xiàn)一個(gè)客戶(hù)信息管理系統(tǒng)

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

1 客戶(hù)類(lèi)

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( "-----客戶(hù)信息管理軟件-----" );
            System.out.println( "1 添加客戶(hù)" );
            System.out.println( "2 修改客戶(hù)" );
            System.out.println( "3 刪除客戶(hù)" );
            System.out.println( "4 客戶(hù)列表" );
            System.out.println( "5 退出" );
            System.out.println( "請(qǐng)選擇1-5" );

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

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


            }
        }

    }

3 方法

(1)添加客戶(hù)

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

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

            }else {
                break;
            }
        }




        System.out.println("請(qǐng)輸入客戶(hù)姓名");
        String name = sc.nextLine();
        System.out.println("請(qǐng)輸入客戶(hù)性別");
        String sex = sc.nextLine();
        System.out.println("請(qǐng)輸入客戶(hù)年齡");
        String age = sc.nextLine();
        System.out.println("請(qǐng)輸入客戶(hù)電話");
        String call = sc.nextLine();
        System.out.println("請(qǐng)輸入客戶(hù)郵箱");
        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)判斷編號(hào)是否被占用

 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)修改客戶(hù)信息

public static void modifyCustomer(ArrayList<Customers> array ){
        Scanner sc= new Scanner( System.in );
        System.out.println("請(qǐng)輸入要修改的客戶(hù)編號(hào)");
        String cid = sc.nextLine();
        System.out.println("請(qǐng)輸入客戶(hù)姓名");
        String name = sc.nextLine();
        System.out.println("請(qǐng)輸入客戶(hù)性別");
        String sex = sc.nextLine();
        System.out.println("請(qǐng)輸入客戶(hù)年齡");
        String age = sc.nextLine();
        System.out.println("請(qǐng)輸入客戶(hù)電話");
        String call = sc.nextLine();
        System.out.println("請(qǐng)輸入客戶(hù)郵箱");
        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("修改客戶(hù)信息成功");

    }

(4)刪除客戶(hù)

 public static void deleteCustomer(ArrayList<Customers> array ){
        Scanner sc = new Scanner( System.in );
        System.out.println("請(qǐng)輸入要?jiǎng)h除的客戶(hù)編號(hào)(-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( "該信息不存在,請(qǐng)重新輸入" );
            } else {
                System.out.println("確認(rèn)是否刪除(Y/N):");
                String s = sc.nextLine();
                if (s.equals( "Y" )|s.equals( "y" )){
                    array.remove( index );
                    System.out.println( "刪除成功" );
                }
        }
    }

(5)客戶(hù)列表

 public static void findCustomer(ArrayList<Customers> array ){
        if (array.size()==0){
            System.out.println("無(wú)信息,請(qǐng)?zhí)砑有畔⒃谠俨樵?xún)");
            return;//為了程序不再往下執(zhí)行
        }
        System.out.println("編號(hào)\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("確認(rèn)是否退出(Y/N):");
                    String y = sc.nextLine();
                    if (y.equals( "Y" ))
                    {
                        System.exit( 0 );
                    }

4 問(wèn)題總結(jié)

(1)字符串比較問(wèn)題

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

(2)修改客戶(hù)不成功

這是錯(cuò)誤代碼片

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

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

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方法使用時(shí)的疑惑 (為什么這里用set那里用get?)

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

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

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

相關(guān)文章

  • Jemalloc優(yōu)化MySQL和Nginx

    Jemalloc優(yōu)化MySQL和Nginx

    這篇文章主要介紹了Jemalloc優(yōu)化MySQL和Nginx的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • 詳解Mybatis多參數(shù)傳遞入?yún)⑺姆N處理方式

    詳解Mybatis多參數(shù)傳遞入?yún)⑺姆N處理方式

    這篇文章主要介紹了詳解Mybatis多參數(shù)傳遞入?yún)⑺姆N處理方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 專(zhuān)屬于程序員的浪漫-Java輸出動(dòng)態(tài)閃圖iloveyou

    專(zhuān)屬于程序員的浪漫-Java輸出動(dòng)態(tài)閃圖iloveyou

    這篇文章主要介紹了專(zhuān)屬于程序員的浪漫-Java輸出動(dòng)態(tài)閃圖iloveyou,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • springMVC配置環(huán)境實(shí)現(xiàn)文件上傳和下載

    springMVC配置環(huán)境實(shí)現(xiàn)文件上傳和下載

    這篇文章主要為大家詳細(xì)介紹了springMVC配置環(huán)境實(shí)現(xiàn)文件上傳和下載的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • java中的匿名內(nèi)部類(lèi)總結(jié)

    java中的匿名內(nèi)部類(lèi)總結(jié)

    這篇文章主要介紹了 java中的匿名內(nèi)部類(lèi)總結(jié)的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • ArrayList和HashMap如何自己實(shí)現(xiàn)實(shí)例詳解

    ArrayList和HashMap如何自己實(shí)現(xiàn)實(shí)例詳解

    這篇文章主要介紹了 ArrayList和HashMap如何自己實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • springboot+vue項(xiàng)目從第一行代碼到上線部署全流程

    springboot+vue項(xiàng)目從第一行代碼到上線部署全流程

    本文詳細(xì)介紹了如何從零開(kāi)始搭建一個(gè)基于Spring Boot和Vue.js的前后端分離項(xiàng)目,并涵蓋項(xiàng)目需求分析、技術(shù)選型、項(xiàng)目結(jié)構(gòu)設(shè)計(jì)、前后端交互、部署上線等全過(guò)程,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Springboot集成knife4j實(shí)現(xiàn)風(fēng)格化API文檔

    Springboot集成knife4j實(shí)現(xiàn)風(fēng)格化API文檔

    這篇文章主要介紹了Springboot如何集成knife4j實(shí)現(xiàn)風(fēng)格化API文檔,幫助大家更好的使用springboot框架,感興趣的朋友可以了解下
    2020-12-12
  • SpringBoot 如何實(shí)現(xiàn)異步編程

    SpringBoot 如何實(shí)現(xiàn)異步編程

    在SpringBoot的日常開(kāi)發(fā)中,一般都是同步調(diào)用的,但實(shí)際中有很多場(chǎng)景非常適合使用異步來(lái)處理,本文就詳細(xì)的介紹一下SpringBoot 如何實(shí)現(xiàn)異步編程 ,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-12-12
  • Java通過(guò)百度地圖API獲取定位(普通IP定位)的方法教程

    Java通過(guò)百度地圖API獲取定位(普通IP定位)的方法教程

    這篇文章主要介紹了Java通過(guò)百度地圖API獲取定位的方法教程,首先說(shuō)明了實(shí)現(xiàn)這個(gè)功能的需求和初衷,然后詳細(xì)描述了利用百度地圖API實(shí)現(xiàn)這個(gè)功能的步驟,包括在百度地圖開(kāi)放平臺(tái)的準(zhǔn)備工作、學(xué)習(xí)官網(wǎng)API文檔、修改API的AK配置、Java代碼獲取定位等,需要的朋友可以參考下
    2024-11-11

最新評(píng)論

洞口县| 淮滨县| 潜江市| 洛浦县| 盘锦市| 尉氏县| 明溪县| 简阳市| 佛坪县| 蓝田县| 同德县| 离岛区| 中超| 铜陵市| 舒兰市| 绥芬河市| 绥棱县| 阳高县| 易门县| 繁昌县| 富川| 金沙县| 延津县| 莆田市| 宝清县| 那曲县| 永修县| 霍城县| 茌平县| 神池县| 昆明市| 恩平市| 广西| 长汀县| 宽城| 绵阳市| 科技| 翁牛特旗| 民丰县| 平泉县| 卢湾区|