新手易懂的Java客戶管理小項(xiàng)目
每日一語(yǔ):花開蝶自來(lái)!?。?/p>
前言:隨著我把狂神的Java的基礎(chǔ)篇看完,我覺得我應(yīng)該是把Java的基礎(chǔ)應(yīng)該沒(méi)什么問(wèn)題了,所以我決定找一個(gè)小項(xiàng)目寫寫,所以我就看了尚硅谷的基礎(chǔ)小項(xiàng)目,不看不知道,一看嚇一跳,我發(fā)現(xiàn)我雖然看完了基礎(chǔ)的部分,但是我自己用起來(lái)還是有很多不足的地方,好在我請(qǐng)教了一些大佬們幫我解決這些問(wèn)題,在這里也是很感謝他們!??!接下來(lái)話不多說(shuō)我們直接上代碼!??!
成果展示
初始化界面:
功能一:添加客戶
我們來(lái)看看添加后的效果:
可以看見我們是添加成果了,我們可以繼續(xù)下面的操作。
功能二:修改客戶
我們來(lái)看看是否修改成功:
可以看到我們是修改成功的?。?!
功能三:客戶刪除
從圖上看我們是刪除成功的
功能四:展示客戶列表
因?yàn)閯偛虐氧忯~辣椒刪了所以現(xiàn)在只剩鐵甲小寶了哈哈哈哈哈哈哈哈哈哈。
思路分析
我們可以把這個(gè)項(xiàng)目分為三個(gè)部分:
1.數(shù)據(jù)的存儲(chǔ)部分。
2.一些功能函數(shù)部分。
3.可視化界面部分。
1.
首先我們來(lái)看看數(shù)據(jù)的存儲(chǔ)是怎么構(gòu)建的:
我們先創(chuàng)建一個(gè)Customer的一個(gè)Java文件,用來(lái)存儲(chǔ)數(shù)據(jù),使用構(gòu)造器初始化數(shù)據(jù),并且用private進(jìn)行封裝一些數(shù)據(jù)。并且用 set 和 get 獲取數(shù)據(jù)。
2.
四個(gè)功能函數(shù)的實(shí)現(xiàn)
第一個(gè)就是添加客戶數(shù)據(jù),我們看下面的代碼實(shí)現(xiàn)!!
public boolean addcust(Customer customer){ if (total >= customers.length){return false; }else{ customers[total++] = customer; } return true; }
第二個(gè)修改:
public boolean replacecust(int index , Customer customer){ if (index<0 || index >= customers.length){ return false; }else{ customers[index] = customer; } return true; }
第三個(gè)刪除:
public boolean deletecust(int index){ if (index<0 || index >= customers.length){ return false; } for(int i = index; i< total - 1;i++){ customers[i] = customers[i+1]; } customers[total-1 ]= null; total --; return true; }
第四個(gè)查看所有的客戶:
public Customer[] getCustomers(){ Customer[] cus = new Customer[total]; for(int i = 0; i < total; i++){ cus[i] = customers[i]; } return cus;
嘿嘿嘿,我就偷個(gè)懶,思路我就不具體寫了,大家可以看代碼嘿嘿嘿!
3.
也就是我們?cè)谏厦婵匆姷目梢暬牟糠?,所以我們?lái)構(gòu)建這部分:
先創(chuàng)建能讓我們看見的部分:
我們?cè)谑褂霉δ艿臅r(shí)候也是用的數(shù)字選擇,我們可以使用switch結(jié)構(gòu)進(jìn)行選擇,并且在相應(yīng)的數(shù)字里面調(diào)用相對(duì)應(yīng)的函數(shù):
代碼部分
1.數(shù)據(jù)存儲(chǔ)部分:
package cus; public class Customer { private String name; private char grade; private int age; private String phone; private String email; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void setGrade(char grade) { this.grade = grade; } public char getGrade() { return grade; } public void setEmail(String email) { this.email = email; } public String getEmail() { return email; } public void setPhone(String phone) { this.phone = phone; } public String getPhone() { return phone; } public Customer(){ } public Customer(String name ,int age , char grade, String email,String phone ){ this.name = name; this.email = email; this.grade = grade; this.age = age; this.phone = phone; } }
2.函數(shù)功能部分:
package cus; public class CustomerList { private Customer[] customers; private static int total = 0; public CustomerList(int totalCustomerList){ customers = new Customer[totalCustomerList]; } public boolean addcust(Customer customer){ if (total >= customers.length){return false; }else{ customers[total++] = customer; } return true; } public boolean replacecust(int index , Customer customer){ if (index<0 || index >= customers.length){ return false; }else{ customers[index] = customer; } return true; } public boolean deletecust(int index){ if (index<0 || index >= customers.length){ return false; } for(int i = index; i< total - 1;i++){ customers[i] = customers[i+1]; } customers[total-1 ]= null; total --; return true; } public Customer[] getCustomers(){ Customer[] cus = new Customer[total]; for(int i = 0; i < total; i++){ cus[i] = customers[i]; } return cus; } public Customer getCust(int indsx){ if(indsx<0 || indsx >= total){ return null; } return customers[indsx]; } public int getTotal(){ return total; } }
3.可視化界面部分:
package cus; import java.util.Scanner; public class View { private static CustomerList customerList = new CustomerList(10); public View(){ Customer customer = new Customer("李華",18,'8',"2222@qq.com","123445697"); customerList.addcust(customer); } public void enterMain(){ System.out.println("1.添加用戶"); System.out.println("2.修改客戶"); System.out.println("3.刪除客戶"); System.out.println("4.客戶列表"); System.out.println("5.退出"); } public static void main(String[] args) { View view = new View(); Scanner scanner = new Scanner(System.in); boolean ifFage = true; while (ifFage){ view.enterMain(); System.out.println("請(qǐng)輸入:"); switch (scanner.nextInt()){ case 1: addNewcust(); break; case 2: modifyCust(); break; case 3: System.out.println("請(qǐng)輸入序號(hào):"); deleetCust(); break; case 4: listAllCustomer(); break; case 5: System.out.println("是否退出?(1:退出,2:繼續(xù)?。。?); if (scanner.nextInt() == 1){ System.out.println("退出!"); ifFage = false;} } } } private static void addNewcust(){ Scanner scanner = new Scanner(System.in); System.out.println("姓名:"); String name = scanner.nextLine(); System.out.println("年齡:"); int age = scanner.nextInt(); System.out.println("性別:"); char grade = (char)scanner.nextInt(); System.out.println("郵箱:"); String email = scanner.next(); System.out.println("電話:"); String phone = scanner.next(); Customer customer = new Customer(name,age,grade,email,phone); customerList.addcust(customer); System.out.println("添加成功!"); // System.out.println("方法1"); } private static void modifyCust(){ Scanner scanner = new Scanner(System.in); Customer cust = null ; int t; for (;;) { System.out.println("輸入-1退出!"); t = scanner.nextInt(); if (t == -1 ) break; cust = customerList.getCust(t-1); if(cust == null){ System.out.println("沒(méi)有該用戶!"); }else{ break; } } System.out.println("姓名("+cust.getName()+")"); System.out.println("修改為:"); String name = scanner.next(); System.out.println("年齡("+cust.getAge()+")"); System.out.println("修改為:"); int age = scanner.nextInt(); System.out.println("性別("+cust.getGrade()+")"); System.out.println("修改為:"); char grade = (char)scanner.nextInt(); System.out.println("郵箱("+cust.getEmail()+")"); System.out.println("修改為:"); String email = scanner.next(); System.out.println("手機(jī)("+cust.getPhone()+")"); System.out.println("修改為:"); String phone = scanner.next(); Customer customer = new Customer(name,age,grade,email,phone); boolean i = customerList.replacecust(t-1,customer); if (i == false ){ System.out.println("修改失敗!"); }else{ System.out.println("修改成功!"); } } private static void deleetCust(){ int total = customerList.getTotal(); Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); if(a <0 || a>total) {System.out.println("沒(méi)有該用戶!");}else{ boolean customer1 = customerList.deletecust(a-1); if (customer1 == false){ System.out.println("刪除失敗!"); }else { System.out.println("刪除成功!!"); } } } private static void listAllCustomer(){ int total = customerList.getTotal(); if (total == 0){ System.out.println("沒(méi)有客戶記錄!"); }else{ System.out.println("客戶名單:"); Customer[] custs = customerList.getCustomers(); for(int i = 0; i<custs.length ; i++) { Customer cust = custs[i]; System.out.println(i+1+"\t"+cust.getName()+"\t"+cust.getAge()+"\t"+cust.getEmail()+"\t"+cust.getPhone()+"\t"+cust.getGrade()); } } } }
項(xiàng)目總結(jié)
最后也來(lái)說(shuō)說(shuō)這個(gè)項(xiàng)目吧,因?yàn)槭蔷毷值男№?xiàng)目,也是我的第一個(gè)Java小項(xiàng)目,所以寫一篇博客記錄一下,并不是什么高級(jí)項(xiàng)目,如果一些大佬覺得寫的垃圾,也可以給我說(shuō)一下,我會(huì)更加努力的改進(jìn),總得來(lái)說(shuō)任重而道遠(yuǎn)?。?!
到此這篇關(guān)于新手易懂的Java客戶管理小項(xiàng)目的文章就介紹到這了,更多相關(guān)Java 客戶管理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java 前臺(tái)加后臺(tái)精品圖書管理系統(tǒng)的實(shí)現(xiàn)
- java用戶管理注冊(cè)功能 含前后臺(tái)代碼
- Java實(shí)戰(zhàn)員工績(jī)效管理系統(tǒng)的實(shí)現(xiàn)流程
- Java實(shí)戰(zhàn)權(quán)限管理系統(tǒng)的實(shí)現(xiàn)流程
- 基于Java實(shí)現(xiàn)考試管理系統(tǒng)
- java?Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)
- Java 實(shí)戰(zhàn)圖書管理系統(tǒng)的實(shí)現(xiàn)流程
- 詳解Java快速上手用戶后臺(tái)管理系統(tǒng)
相關(guān)文章
Redisson分布式閉鎖RCountDownLatch的使用詳細(xì)講解
分布式鎖和我們java基礎(chǔ)中學(xué)習(xí)到的synchronized略有不同,synchronized中我們的鎖是個(gè)對(duì)象,當(dāng)前系統(tǒng)部署在不同的服務(wù)實(shí)例上,單純使用synchronized或者lock已經(jīng)無(wú)法滿足對(duì)庫(kù)存一致性的判斷。本次主要講解基于rediss實(shí)現(xiàn)的分布式鎖2023-02-02Springboot集成JUnit5優(yōu)雅進(jìn)行單元測(cè)試的示例
這篇文章主要介紹了Springboot集成JUnit5優(yōu)雅進(jìn)行單元測(cè)試的示例,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2020-10-10java基礎(chǔ)-給出一個(gè)隨機(jī)字符串,判斷有多少字母?多少數(shù)字?
這篇文章主要介紹了java基礎(chǔ)-給出一個(gè)隨機(jī)字符串,判斷有多少字母?多少數(shù)字?文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04java中基本注解的知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于java中基本注解的知識(shí)點(diǎn)總結(jié),有需要的朋友們可以跟著學(xué)習(xí)下。2021-06-06springboot項(xiàng)目防止XSS攻擊和sql注入方式
這篇文章主要介紹了springboot項(xiàng)目防止XSS攻擊和sql注入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Java?深入理解創(chuàng)建型設(shè)計(jì)模式之原型模式
原型(Prototype)模式的定義如下:用一個(gè)已經(jīng)創(chuàng)建的實(shí)例作為原型,通過(guò)復(fù)制該原型對(duì)象來(lái)創(chuàng)建一個(gè)和原型相同或相似的新對(duì)象。在這里,原型實(shí)例指定了要?jiǎng)?chuàng)建的對(duì)象的種類。用這種方式創(chuàng)建對(duì)象非常高效,根本無(wú)須知道對(duì)象創(chuàng)建的細(xì)節(jié)2022-02-02