国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java基礎(chǔ)學(xué)習(xí):尚硅谷 面向?qū)ο筮M(jìn)階 客戶信息管理軟件

這篇具有很好參考價(jià)值的文章主要介紹了Java基礎(chǔ)學(xué)習(xí):尚硅谷 面向?qū)ο筮M(jìn)階 客戶信息管理軟件。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. Customer.java

package chapter07.pinExer;

// 客戶類
public class Customer {
    private String name;
    private char gender; //性別
    private int age;
    private String phone;
    private String email;

    // 構(gòu)造器
    public Customer(){

    }
    public Customer(String name, char gender, int age, String phone, String email){
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.phone = phone;
        this.email = email;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setGender(char gender) {
        this.gender = gender;
    }

    public char getGender() {
        return gender;
    }

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

    public int getAge() {
        return age;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

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

    public String getEmail() {
        return email;
    }
}

2. CustomerList.java

package chapter07.pinExer;
// CustomerList為Customer對象管理模塊,內(nèi)部使用數(shù)組管理一組Customer對象
public class CustomerList {
    private Customer[] customers;
    private int total = 0; // 最大長度

    public CustomerList(int totalCustomer){
        customers = new Customer[totalCustomer];
    }

    //添加成員,成功返回true,失敗返回false
    public boolean addCustomer(Customer customer){
        if(total < customers.length){
            customers[total] = customer;
            total++;
            return true;
        }
        return false;
    }

    // 替換,用參數(shù)customer替換數(shù)組中由index指定的對象
    public boolean replaceCustomer(int index, Customer cust){
        if(index >= 0 && index < total){
            customers[index] = cust;
            return true;
        }
        return false;
    }

    // 刪除,從數(shù)組中刪除index指定索引位置的客戶對象記錄
    public boolean deleteCustomer(int index){
        if(index >= 0 && index < total){
            for(int i = index; i < total; i++){
                customers[i] = customers[i+1];
            }

            //將最后一個(gè)有效位置的數(shù)值置空
            customers[total - 1] = null;
            total--;
            return true;
        }
        return false;
    }

    // 返回?cái)?shù)組中記錄的所有客戶對象
    public Customer[] getAllCustomers(){
        Customer[] custs = new Customer[total];
        for(int i = 0; i < total; i++){
            custs[i] = customers[i];
        }
        return custs;
    }

    // 返回index指定索引位置客戶的記錄
    public Customer getCustomer(int index){
        if(index >=0 && index < total){
            return customers[index];
        }
        return null;
    }

    // 獲取客戶列表中有幾個(gè)客戶
    public int getTotal(){
        return total;
    }

}

CMUtility.java 工具類

package chapter07.pinExer;
import java.util.*;
public class CMUtility {
    private static Scanner scanner = new Scanner(System.in);
    /**
     用于界面菜單的選擇。該方法讀取鍵盤,如果用戶鍵入’1’-’5’中的任意字符,則方法返回。返回值為用戶鍵入字符。
     */
    public static char readMenuSelection() {
        char c;
        for (; ; ) {
            String str = readKeyBoard(1, false);
            c = str.charAt(0);
            if (c != '1' && c != '2' &&
                    c != '3' && c != '4' && c != '5') {
                System.out.print("選擇錯(cuò)誤,請重新輸入:");
            } else break;
        }
        return c;
    }
    /**
     從鍵盤讀取一個(gè)字符,并將其作為方法的返回值。
     */
    public static char readChar() {
        String str = readKeyBoard(1, false);
        return str.charAt(0);
    }
    /**
     從鍵盤讀取一個(gè)字符,并將其作為方法的返回值。
     如果用戶不輸入字符而直接回車,方法將以defaultValue 作為返回值。
     */
    public static char readChar(char defaultValue) {
        String str = readKeyBoard(1, true);
        return (str.length() == 0) ? defaultValue : str.charAt(0);
    }
    /**
     從鍵盤讀取一個(gè)長度不超過2位的整數(shù),并將其作為方法的返回值。
     */
    public static int readInt() {
        int n;
        for (; ; ) {
            String str = readKeyBoard(2, false);
            try {
                n = Integer.parseInt(str);
                break;
            } catch (NumberFormatException e) {
                System.out.print("數(shù)字輸入錯(cuò)誤,請重新輸入:");
            }
        }
        return n;
    }
    /**
     從鍵盤讀取一個(gè)長度不超過2位的整數(shù),并將其作為方法的返回值。
     如果用戶不輸入字符而直接回車,方法將以defaultValue 作為返回值。
     */
    public static int readInt(int defaultValue) {
        int n;
        for (; ; ) {
            String str = readKeyBoard(2, true);
            if (str.equals("")) {
                return defaultValue;
            }

            try {
                n = Integer.parseInt(str);
                break;
            } catch (NumberFormatException e) {
                System.out.print("數(shù)字輸入錯(cuò)誤,請重新輸入:");
            }
        }
        return n;
    }
    /**
     從鍵盤讀取一個(gè)長度不超過limit的字符串,并將其作為方法的返回值。
     */
    public static String readString(int limit) {
        return readKeyBoard(limit, false);
    }
    /**
     從鍵盤讀取一個(gè)長度不超過limit的字符串,并將其作為方法的返回值。
     如果用戶不輸入字符而直接回車,方法將以defaultValue 作為返回值。
     */
    public static String readString(int limit, String defaultValue) {
        String str = readKeyBoard(limit, true);
        return str.equals("")? defaultValue : str;
    }
    /**
     用于確認(rèn)選擇的輸入。該方法從鍵盤讀取‘Y’或’N’,并將其作為方法的返回值。
     */
    public static char readConfirmSelection() {
        char c;
        for (; ; ) {
            String str = readKeyBoard(1, false).toUpperCase();
            c = str.charAt(0);
            if (c == 'Y' || c == 'N') {
                break;
            } else {
                System.out.print("選擇錯(cuò)誤,請重新輸入:");
            }
        }
        return c;
    }

    private static String readKeyBoard(int limit, boolean blankReturn) {
        String line = "";

        while (scanner.hasNextLine()) {
            line = scanner.nextLine();
            if (line.length() == 0) {
                if (blankReturn) return line;
                else continue;
            }

            if (line.length() < 1 || line.length() > limit) {
                System.out.print("輸入長度(不大于" + limit + ")錯(cuò)誤,請重新輸入:");
                continue;
            }
            break;
        }

        return line;
    }
}

4. CustomerView.java 主模塊

package chapter07.pinExer;

import chapter07.pinExer.Customer;

// 主模塊,負(fù)責(zé)菜單的顯示和處理用戶操作
public class CustomerView {
    int totalCustomers = 10;
    CustomerList customerList = new CustomerList(totalCustomers);
    // 進(jìn)入主界面
    public void enterMainMenu(){
        boolean flag = true;
        while(flag){
            System.out.println("\n------------------拼電商管理系統(tǒng)------------------\n");
            System.out.println("                    1.添 加 客 戶");
            System.out.println("                    2.修 改 客 戶");
            System.out.println("                    3.刪 除 客 戶");
            System.out.println("                    4.客 戶 列 表");
            System.out.println("                    5.退       出\n");
            System.out.println("                    請選擇(1-5)");

            char key = CMUtility.readMenuSelection();

            switch(key){
                case '1':
                    addNewCustomer();
                    break;
                case '2':
                    modifyCustomer();;
                    break;
                case '3':
                    deleteCustomer();
                    break;
                case '4':
                    listAllCustomers();
                    break;
                case '5':
                    System.out.print("確認(rèn)是否退出(Y/N):");
                    char isExit = CMUtility.readConfirmSelection();
                    if(isExit == 'Y'){
                        flag = false;
                    }
                    break;
            }
        }
    }
    private void addNewCustomer(){
        System.out.println("\n---------------------添加客戶---------------------");
        if (customerList.getTotal() >= totalCustomers) {
            System.out.println("----------------客戶列表已滿,無法添加---------------");
            return;
        }
        System.out.print("姓名:");
        String name = CMUtility.readString(10);
        System.out.print("性別:");
        char gender = CMUtility.readChar();
        System.out.print("年齡:");
        int age = CMUtility.readInt();
        System.out.print("電話:");
        String phone = CMUtility.readString(13);
        System.out.print("郵箱:");
        String email = CMUtility.readString(20);
        Customer cust = new Customer(name, gender, age, phone, email);
        boolean isAdded = customerList.addCustomer(cust);
        if (isAdded) {
            System.out.println("---------------------添加完成---------------------");
        } else {
            System.out.println("---------------------添加失敗---------------------");
        }
    }
    private void modifyCustomer(){
        System.out.println("\n---------------------修改客戶---------------------");
        while (true) {
            System.out.print("請選擇待修改客戶編號(hào)(-1退出):");
            int number = CMUtility.readInt();
            if (number == -1) {
                return; //如果輸入-1,則直接結(jié)束方法
            } else if (number <= 0 || number > customerList.getTotal()) {
                System.out.println("無法找到指定客戶!");
            } else {
                System.out.print("姓名(" + customerList.getCustomer(number - 1).getName() + "):");
                String newName = CMUtility.readString(10, customerList.getCustomer(number - 1).getName());
                System.out.print("性別(" + customerList.getCustomer(number - 1).getGender() + "):");
                char newGender = CMUtility.readChar(customerList.getCustomer(number - 1).getGender());
                System.out.print("性別(" + customerList.getCustomer(number - 1).getAge() + "):");
                int newAge = CMUtility.readInt(customerList.getCustomer(number - 1).getAge());
                System.out.print("電話(" + customerList.getCustomer(number - 1).getPhone() + "):");
                String newPhone = CMUtility.readString(13, customerList.getCustomer(number - 1).getPhone());
                System.out.print("郵箱(" + customerList.getCustomer(number - 1).getEmail() + "):");
                String newEmail = CMUtility.readString(20, customerList.getCustomer(number - 1).getEmail());

                Customer cust = new Customer(newName, newGender, newAge, newPhone, newEmail);
                boolean isReplaced = customerList.replaceCustomer(number - 1, cust);
                if (isReplaced) {
                    System.out.println("---------------------修改完成---------------------");
                } else {
                    System.out.println("---------------------無法修改---------------------");
                }
                return;
            }
        }
    }
    private void deleteCustomer(){
        System.out.println("\n---------------------刪除客戶---------------------");
        while (true) {
            System.out.print("請選擇待刪除客戶編號(hào)(-1退出):");
            int number = CMUtility.readInt();
            if (number == -1) {
                return; //如果輸入-1,則直接結(jié)束方法
            } else if (number <= 0 || number > customerList.getTotal()) {
                System.out.println("無法找到指定客戶!");
            } else {
                System.out.print("確認(rèn)是否刪除(Y/N):");
                char isDelete = CMUtility.readConfirmSelection();
                if (isDelete == 'Y') {
                    boolean isDeleted = customerList.deleteCustomer(number - 1);
                    if (isDeleted) {
                        System.out.println("---------------------刪除完成---------------------");
                    } else {
                        System.out.println("---------------------刪除失敗---------------------");
                    }
                }
                return;
            }
        }

    }
    private void listAllCustomers(){
        System.out.println("----------------------------------客戶列表----------------------------------");
        if (customerList.getTotal() == 0) {
            System.out.println("沒有客戶記錄!");
        } else {
            System.out.println("編號(hào)\t\t姓名\t\t性別\t\t年齡\t\t電話\t\t\t\t郵箱");
            Customer[] custs = customerList.getAllCustomers();
            for (int i = 0; i < custs.length; i++) {
                System.out.println((i + 1) + "\t\t" + custs[i].getName() + "\t\t" + custs[i].getGender() + "\t\t"
                        + custs[i].getAge() + "\t\t" + custs[i].getPhone() + "\t\t" + custs[i].getEmail());
            }
        }
        System.out.println("--------------------------------客戶列表完成---------------------------------");
    }

    public static void main(String[] args) {
        CustomerView view = new CustomerView();
        view.enterMainMenu();
    }

}

文章來源地址http://www.zghlxwxcb.cn/news/detail-454750.html

到了這里,關(guān)于Java基礎(chǔ)學(xué)習(xí):尚硅谷 面向?qū)ο筮M(jìn)階 客戶信息管理軟件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包