您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java怎么使用集合來(lái)實(shí)現(xiàn)一個(gè)客戶信息管理系統(tǒng)”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Java怎么使用集合來(lái)實(shí)現(xiàn)一個(gè)客戶信息管理系統(tǒng)”這篇文章吧。
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; } }
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( "請(qǐng)選擇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("確認(rèn)是否退出(Y/N):"); String y = sc.nextLine(); if (y.equals( "Y" )) { System.exit( 0 ); } } } }
public static void addCustomer(ArrayList<Customers> array ){ Scanner sc = new Scanner( System.in ); String cid; while (true){ System.out.println("請(qǐng)輸入客戶編號(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)輸入客戶姓名"); String name = sc.nextLine(); System.out.println("請(qǐng)輸入客戶性別"); String sex = sc.nextLine(); System.out.println("請(qǐng)輸入客戶年齡"); String age = sc.nextLine(); System.out.println("請(qǐng)輸入客戶電話"); String call = sc.nextLine(); System.out.println("請(qǐng)輸入客戶郵箱"); 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("添加成功"); }
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; }
public static void modifyCustomer(ArrayList<Customers> array ){ Scanner sc= new Scanner( System.in ); System.out.println("請(qǐng)輸入要修改的客戶編號(hào)"); String cid = sc.nextLine(); System.out.println("請(qǐng)輸入客戶姓名"); String name = sc.nextLine(); System.out.println("請(qǐng)輸入客戶性別"); String sex = sc.nextLine(); System.out.println("請(qǐng)輸入客戶年齡"); String age = sc.nextLine(); System.out.println("請(qǐng)輸入客戶電話"); String call = sc.nextLine(); System.out.println("請(qǐng)輸入客戶郵箱"); 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("修改客戶信息成功"); }
public static void deleteCustomer(ArrayList<Customers> array ){ Scanner sc = new Scanner( System.in ); System.out.println("請(qǐng)輸入要?jiǎng)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( "刪除成功" ); } } }
public static void findCustomer(ArrayList<Customers> array ){ if (array.size()==0){ System.out.println("無(wú)信息,請(qǐng)?zhí)砑有畔⒃谠俨樵?quot;); 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()); } }
System.out.print("確認(rèn)是否退出(Y/N):"); String y = sc.nextLine(); if (y.equals( "Y" )) { System.exit( 0 ); }
在遇到輸入“-1”退出時(shí)碰到了問(wèn)題,當(dāng)時(shí)想著怎么比較String類型和int類型的數(shù)據(jù),后面知道直接用equals方法直接比較String類型數(shù)據(jù)就行。
這是錯(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ǔ)新的客戶信息的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; }
本題中錄入數(shù)據(jù)時(shí)候多用set方法,輸出數(shù)據(jù)時(shí)用get方法。那么具體的應(yīng)用場(chǎng)景在什么地方?
set是寫(xiě)入數(shù)據(jù),get是得到數(shù)據(jù)
將類的某些信息隱藏在類內(nèi)部,不允許外部程序直接訪問(wèn),而是通過(guò)該類提供的方法來(lái)實(shí)現(xiàn)對(duì)隱藏信息的操作和訪問(wèn)
成員變量private,提供對(duì)應(yīng)的getXxx()/setXxx()方法
以上是“Java怎么使用集合來(lái)實(shí)現(xiàn)一個(gè)客戶信息管理系統(tǒng)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。