日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

客户信息管理系统——Java

發布時間:2024/4/18 windows 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 客户信息管理系统——Java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

客戶信息管理系統——Java

該系統沒有涉及文件及數據庫,適合剛接觸java的新手進行練習。模擬實現基于文本界面的客戶軟件管理系統。能夠實現基本增刪改查操作以及類的使用
  • 文件排布如下圖:

源代碼

  • CustomerUtility.java
package CustomerInfomationManagement;import java.util.Scanner;/*** @Description: 作為工具類使用,將功能封裝為方法,直接通過方法調用。無需重復實現細節* @ProjectNmae: Project2* @PackageName: CustomerInfomationManagement* @ClassName: CustomerUtility* @Author: Y-peak* @Date: 2021.08.23 09:38 星期一*/public class CustomerUtility {private static Scanner scanner = new Scanner(System.in);/*** @Description: 讀取1-5任意字符* @Param: 無* @return: 第一個字符* @Author: Y-peak* @Date: 2021.08.23 09:55**/public static char readMenuSelection(){char c;while (true){String str = readKeyBoard(1,false);c = str.charAt(0);if(c > '5' || c < '1'){System.out.print(" 輸入錯誤,請重新輸入:");}else break;}return c;}/*** @Description: 讀取一個字符* @Param: 無* @return: 返回讀取的字符* @Author: Y-peak* @Date: 2021.08.23 09:56**/public static char readChar(){String str = readKeyBoard(1,false);return str.charAt(0);}/*** @Description: 從鍵盤讀取一個字符,如果未輸入則,默認defaultSelection* @Param: defaultValue 作為默認值* @return: 返回選擇的字符* @Author: Y-peak* @Date: 2021.08.23 09:59**/public static char readChar(char defaultValue){String str = readKeyBoard(1,true);return (str.length()==0)?defaultValue:str.charAt(0);}/*** @Description: 讀取一個2位的整數* @Param: 無* @return: 一個整數* @Author: Y-peak* @Date: 2021.08.23 11:04**/public static int readInt(){int n;while (true){String str = readKeyBoard(2,false);try {n = Integer.parseInt(str);if (n>=0)break;elseSystem.out.print(" 輸入錯誤,請重新輸入:");}catch (NumberFormatException e){System.out.print(" 輸入錯誤,請重新輸入:");}}return n;}/*** @Description: 讀取一個2位的整數,為空則,返回傳入的參數* @Param: 默認值* @return: 一個整數* @Author: Y-peak* @Date: 2021.08.23 11:18**/public static int readInt(int defaultValue){int n;while (true){String str = readKeyBoard(2, true);if(str.length() == 0)return defaultValue;try {n = Integer.parseInt(str);if (n>=0)break;elseSystem.out.print(" 輸入錯誤,請重新輸入:");}catch (NumberFormatException e){System.out.print(" 輸入錯誤,請重新輸入:");}}return n;}/*** @Description: 讀取一個長度不超過limit的字符串* @Param: limit* @return: 字符串* @Author: Y-peak* @Date: 2021.08.23 11:44**/public static String readString(int limit){return readKeyBoard(limit,false);}/*** @Description: 讀取一個長度不超過limit的字符串,如果為空則返回默認值* @Param: limit 限制長度 defaultValue 默認值* @return: 字符串* @Author: Y-peak* @Date: 2021.08.23 11:44**/public static String readString(int limit,String defaultValue){String str = readKeyBoard(limit,true);return str.length() == 0 ? defaultValue:str;}/*** @Description: 用于確認是否退出或者刪除* @Param:* @return: Y or N* @Author: Y-peak* @Date: 2021.08.23 11:54**/public static char readConfirmSelection(){char c;while (true){String str = readKeyBoard(1,false).toUpperCase();c = str.charAt(0);if(c == 'Y' || c == 'N')break;System.out.print(" 輸入錯誤,請重新輸入:");}return c;}/*** @Description: 讀取至多長度的字符,同時判斷是否允許空字符* @Param: n 長度 b是否允許* @return: * @Author: Y-peak* @Date: 2021.08.23 12:32**/public static String readKeyBoard(int n, boolean b){String str="";while (scanner.hasNextLine()){str = scanner.nextLine();int len = str.length();if (len == 0){if (b)return str;continue;}else if(len>n){System.out.print(" 輸入錯誤,請重新輸入:");continue;}break;}return str;}}
  • Customer.java
package CustomerInfomationManagement;/*** @Description: 實例化Customer對象,封裝客戶信息* @ProjectNmae: Project2* @PackageName: CustomerInfomationManagement* @ClassName: Customer* @Author: Y-peak* @Date: 2021.08.23 09:38 星期一*/public class Customer {private String name; //名字private char gender; //性別private int age; //年齡private String phone; //電話號碼private String email; //郵箱public Customer() {}public Customer(String name, char gender, int age, String phone, String email) {this.name = name;this.gender = gender;this.age = age;this.phone = phone;this.email = email;}public String getName() {return name;}public void setName(String name) {this.name = name;}public char getGender() {return gender;}public void setGender(char gender) {this.gender = gender;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;} }
  • CustomerList.java
package CustomerInfomationManagement;/*** @Description: 管理實例化的客戶對象,提供增刪改查操作* @ProjectNmae: Project2* @PackageName: CustomerInfomationManagement* @ClassName: CustomerList* @Author: Y-peak* @Date: 2021.08.23 09:39 星期一*/public class CustomerList {private Customer[] customers; //保存客戶信息的數組private int total; //已保存客戶信息的數量private int maxTotal; //最多保存的客戶信息/*** @Description: 初始化數組* @Param: totalCustomer 客戶的總數* @return:* @Author: Y-peak* @Date: 2021.08.23 12:51**/public CustomerList(int totalCustomer) {this.customers = new Customer[totalCustomer];this.maxTotal = totalCustomer;this.total = 0;}/*** @Description: 添加一個客戶對象* @Param: customer指定要添加的客戶對象* @return: 添加成功返回true,false表示已滿。* @Author: Y-peak* @Date: 2021.08.23 16:07**/public boolean addCustomer(Customer customer){if(total>=maxTotal)return false;customers[total++] = customer;return true;}/*** @Description: 將指定位置的客戶對象進行替換* @Param: customer指定要替換的新客戶對象,index表示所要替換的下標(從0開始)* @return: 替換成功返回true,索引無效返回false* @Author: Y-peak* @Date: 2021.08.23 16:11**/public boolean replaceCustomer(int index,Customer cust){if(index>= maxTotal)return false;customers[index] = cust;return true;}/*** @Description: * @Param: index 索引* @return: true刪除成功, falses刪除失敗* @Author: Y-peak* @Date: 2021.08.23 19:09**/public boolean deleteCustomer(int index){if (index<0 || index>=total)return false;for (int i = 0; i < total - 1; i++) {customers[i] = customers[i+1];}customers[total - 1] = null;total--;return true;}/*** @Description: 獲取所有客戶信息* @Param:* @return: 所有客戶信息* @Author: Y-peak* @Date: 2021.08.23 19:13**/public Customer[] gerAllCustomer(){Customer[] customers1 = new Customer[total];for (int i = 0; i < total; i++) {customers1[i] = customers[i];}return customers1;}/*** @Description: 返回指定索引的客戶對象* @Param: index索引* @return: 一個客戶對象* @Author: Y-peak* @Date: 2021.08.23 19:56**/public Customer getCustomer(int index){if(index < 0 || index >= total)return null;return customers[index];}/*** @Description: 獲取客戶數量* @Param: 無* @return: 返回客戶數量* @Author: Y-peak* @Date: 2021.08.23 19:57**/public int getTotal(){return total;}}
  • CustomerView.java
package CustomerInfomationManagement;/*** @Description: 進行菜單顯示和調用用戶選擇的操作* @ProjectNmae: Project2* @PackageName: CustomerInfomationManagement* @ClassName: CustomerView* @Author: Y-peak* @Date: 2021.08.23 09:39 星期一*/public class CustomerView {private CustomerList customerList = new CustomerList(10);/*** @Description: 顯示界面* @Param:* @return:* @Author: Y-peak* @Date: 2021.08.23 20:03**/public void enterMainMenu(){boolean isFlag = true;while (isFlag){System.out.println("-------------客戶信息管理軟件------------\n");System.out.println(" 1. 添加客戶");System.out.println(" 2. 修改客戶");System.out.println(" 3. 刪除客戶");System.out.println(" 4. 顯示客戶");System.out.println(" 5. 退 出\n");System.out.print(" 請選擇(1-5):");char choice = CustomerUtility.readMenuSelection();switch (choice){case '1':addCustomer();break;case '2':modifyCustomer();break;case '3':deleteCustomer();break;case '4':showAllCustomer();break;case '5':System.out.print(" 確認是否退出(Y/N):");if(CustomerUtility.readConfirmSelection() == 'Y')isFlag = false;break;default:System.out.println("怎么1-5都能輸入錯誤");}}}/*** @Description: 添加客戶* @Param:* @return:* @Author: Y-peak* @Date: 2021.08.23 19:59**/private void addCustomer(){System.out.println("------------- 添加客戶信息 ------------");System.out.printf("姓名:");String name = CustomerUtility.readString(10);System.out.printf("性別:");char gender = CustomerUtility.readChar();System.out.printf("年齡:");int age = CustomerUtility.readInt();System.out.printf("電話:");String phone = CustomerUtility.readString(13);System.out.printf("Email:");String email = CustomerUtility.readString(20);Customer customer = new Customer(name,gender, age, phone, email);boolean isSuccess = customerList.addCustomer(customer);if(isSuccess){System.out.println("-------------添加成功-----------------");}else {System.out.println("-----------空間已滿,添加失敗-----------");}System.out.println("-------------------------------------");}/*** @Description: 修改客戶信息* @Param:* @return:* @Author: Y-peak* @Date: 2021.08.23 20:00**/private void modifyCustomer(){int number;Customer temp;System.out.println("-------------修改客戶信息----------------");while (true){System.out.printf("請選擇待修改的客戶編號(0退出):");number = CustomerUtility.readInt();if(number == 0){System.out.println("------------已退出修改客戶信息------------");System.out.println("--------------------------------------");return;}temp = customerList.getCustomer(number-1);if (temp == null){System.out.println("無法找到指定客戶");}elsebreak;}System.out.printf("姓名:");String name = CustomerUtility.readString(10,temp.getName());System.out.printf("性別:");char gender = CustomerUtility.readChar(temp.getGender());System.out.printf("年齡:");int age = CustomerUtility.readInt(temp.getAge());System.out.printf("電話:");String phone = CustomerUtility.readString(13,temp.getPhone());System.out.printf("Email:");String email = CustomerUtility.readString(20,temp.getEmail());Customer customer = new Customer(name,gender, age, phone, email);customerList.replaceCustomer(number-1,customer);System.out.println("--------------------------------------");}/*** @Description: 刪除客戶信息* @Param:* @return:* @Author: Y-peak* @Date: 2021.08.23 20:01**/private void deleteCustomer(){System.out.println("-------------刪除客戶信息----------------");System.out.printf("請選擇需要刪除的客戶編號(0退出):");int number = CustomerUtility.readInt();if(number == 0)System.out.println("-----------------已退出----------------");else{if(customerList.getCustomer(number-1) != null){System.out.print("確認是否刪除(Y/N):");char choice = CustomerUtility.readConfirmSelection();if (choice=='Y') {customerList.deleteCustomer(number - 1);System.out.println("----------------刪除成功----------------");}}elseSystem.out.println("----------未找到指定編號,刪除失敗---------");}System.out.println("--------------------------------------");}/*** @Description: 顯示全部客戶* @Param:* @return:* @Author: Y-peak* @Date: 2021.08.23 20:02**/private void showAllCustomer(){System.out.println("------------- 客戶信息顯示 ------------");int total = customerList.getTotal();if(total == 0){System.out.println("未找到客戶記錄");}else {System.out.println("編號\t\t姓名\t\t性別\t\t年齡\t\t電話\t\t\t郵箱");Customer[] custNew = customerList.gerAllCustomer();for (int i = 0; i < custNew.length; i++) {Customer temp = custNew[i];System.out.println((i+1) + "\t\t" + temp.getName() + "\t\t" + temp.getGender() + "\t\t" +temp.getAge() + "\t\t" + temp.getPhone() + "\t\t\t" + temp.getEmail());}}System.out.println("-------------------------------------");}public static void main(String[] args) {CustomerView view = new CustomerView();view.enterMainMenu();}}

使用截圖



總結

以上是生活随笔為你收集整理的客户信息管理系统——Java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。