赞
踩
bean:负责数据处理和存储
Customer
controller:负责控制
CustomerList
util:工具包
CMUtility
view:可视化
CustomerView
Customer
package bean; /** * 负责数据处理、存储 * @create: 2022-06-12 15:28 */ 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 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; } }
CustomerList
package controller; import bean.Customer; /** * 负责控制 * @create: 2022-06-12 15:29 */ public class CustomerList { private Customer[] customers; private int total=0; /* * 用来初始化数组的构造器 * totalCustomer:数组长度 * */ public CustomerList(int totalCustomer){ customers=new Customer[totalCustomer]; } //方法 /** *添加客户 * @param customer * @return */ public boolean addCustomer(Customer customer){ if(total>=customers.length){ return false; } customers[total]=customer; total++; return true; } /** * 修改客户 * @param index * @param cust * @return */ public boolean replaceCustomer(int index,Customer cust){ if(index<0||index>=total){ return false; }else{ customers[index]=cust; return true; } } /** *删除指定索引位置上的顾客 * @param index * @return */ public boolean deleteCustomer(int index){ if(index<0||index>=total){ return false; }else{ for(int i=index;i<total-1;i++){ customers[i]=customers[i+1]; } customers[total-1]=null; total--; return true; } } /** * 获取所有的客户信息 * @return */ public Customer[] getAllCustomers() { Customer[] custs =new Customer[total]; for(int i=0;i<total;i++){ custs[i]=customers[i]; } return custs; } /** * 获取指定位置上的客户 * @param index * @return */ public Customer getCustomer(int index){ if(index<0||index>=total){ return null; } return customers[index]; } /** * 获取存储客户的数量 * @return */ public int getTotal(){ return total; } }
CMUtility
package util; import java.util.*; /** * 工具类 * 将不同得功能封装为方法,就可以直接通过方法使用它的功能,而无需考虑具体的功能实现细节。 * @create: 2022-06-12 15:28 */ 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("选择错误,请重新输入"); }else break; } return c; } /* * 从键盘读取一个字符,并将其作为方法的返回值 * */ public static char readChar(){ String str=readKeyBoard(1,false); return str.charAt(0); } /* * 从键盘读取一个字符,并将其作为方法的返回值 * 如果用户不输入字符而直接回车,方法将以defaultValue作为返回值。 * */ public static char readChar(char defaultValue){ String str =readKeyBoard(1,true); return (str.length()==0)?defaultValue:str.charAt(0); } /* * 从键盘读取一个长度不超过2位的正数,并将其作为方法的返回值 * */ public static int readInt() { int n; for (; ; ) { String str = readKeyBoard(2, false); try { n = Integer.parseInt(str); break; } catch (NumberFormatException e) { System.out.print("数字输入错误,请重新输入"); } } return n; } 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("数字输入错误,请重新输入"); } } return n; } /* * 从键盘读取一个长度不超过limit的字符串,并将其作为方法的返回值 * */ public static String readString(int limit){ return readKeyBoard(limit,false); } /* * 从键盘读取一个长度不包括limit的字符串,并将其作为方法的返回值 * 如果用户不输入字符而直接回车,方法将一defaultValue作为返回值 * */ public static String readString(int limit,String defaultValue){ String str =readKeyBoard(limit,true); return str.equals("")?defaultValue:str; } /* * 用于确定选择的输入,该方法从键盘读取y/n并将其作为方法的返回值 * */ public static char readConfirmSelection(){ char c; for(;;){ String str=readKeyBoard(1,false).toUpperCase(); c=str.charAt(0); if(c=='y'||c=='n'||c=='Y'||c=='N'){ break; }else { System.out.print("选择错误,请重新输入:"); } } 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+")错误,请重新输入"); continue; } break; } return line; } }
CustomerView
package view; import bean.Account; import bean.Customer; import controller.CustomerList; import util.CMUtility; /** * 负责视图 * @author:张帅宝 * @create: 2022-06-12 15:28 */ public class CustomerView { private CustomerList customerList=new CustomerList(10); /** * 显示客户信息管理软件界面的方法 */ public void enterMainMenu(){ boolean isFlag=true; while(isFlag) { 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.print("请选择(1-5)"); char menu=CMUtility.readMenuSelection(); switch(menu){ case '1': addNewCustomer(); break; case '2': modifyCustomer(); break; case '3': deleteCustomer(); break; case '4': listAllCustomer(); break; case '5': System.out.println("是否确定退出y/n"); char isExit =CMUtility.readConfirmSelection(); if(isExit=='y'||isExit=='Y'){ isFlag=false; } // break; } } } /** * 添加客户的操作 */ public void addNewCustomer(){ System.out.println("——————————————————————添加客户——————————————————————"); 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(30); //将数据封装到一个对象中 Customer customer =new Customer(name,gender,age,phone,email); boolean isSuccess=customerList.addCustomer(customer); if(isSuccess==true){ System.out.println("——————————————————————添加成功——————————————————————"); }else{ System.out.println("————————————————————————失败——————————————————————"); } } /** * 修改客户的操作 */ public void modifyCustomer(){ System.out.println("——————————————————————修改客户——————————————————————"); Customer cust =new Customer(); int number; for(;;) { System.out.print("请选择修改客户编号(-1退出):"); number=CMUtility.readInt(); if(number ==-1){ return; } cust=customerList.getCustomer(number-1); if(cust ==null){ System.out.println("——————————————————————无法找到指定客户——————————————————————"); }else{//找到了相应客户 break; } } //修改客户 System.out.println("姓名("+cust.getName()+"):"); String name = CMUtility.readString(10,cust.getName()); System.out.println("性别("+cust.getGender()+"):"); char gender=CMUtility.readChar(cust.getGender()); System.out.println("年龄("+cust.getAge()+"):"); int age = CMUtility.readInt(cust.getAge()); System.out.println("电话("+cust.getPhone()+"):"); String phone =CMUtility.readString(13,cust.getPhone()); System.out.println("邮箱("+cust.getEmail()+"):"); String email=CMUtility.readString(30,cust.getEmail()); Customer newcust=new Customer(name,gender,age,phone,email); boolean isReplace=customerList.replaceCustomer(number-1,newcust); if(isReplace==true){ System.out.println("——————————————————————修改完成——————————————————————"); }else{ System.out.println("——————————————————————修改失败——————————————————————"); } } /** * 删除客户的操作 */ public void deleteCustomer(){ System.out.println("——————————————————————删除客户——————————————————————"); int number; for(;;) { System.out.println("请选择你删除的客户编号(-1退出:)"); number = CMUtility.readInt(); if (number == -1) { return; } Customer customer =customerList.getCustomer(number-1); if(customer==null){ System.out.println("——————————————————————无法找到指定客户——————————————————————"); }else{ break; } } System.out.println("是否确认删除y/n"); char isDelat=CMUtility.readConfirmSelection(); if(isDelat=='Y'||isDelat=='y'){ customerList.deleteCustomer(number-1); }else{ return; } } /** * 显示客户列表的操作 */ public void listAllCustomer(){ 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邮箱"); Customer[] custs=customerList.getAllCustomers(); for(int i=0;i<total;i++){ System.out.println((i+1)+"\t"+custs[i].getName() +"\t"+custs[i].getGender()+"\t"+custs[i].getAge() +"\t"+custs[i].getPhone()+"\t"+custs[i].getEmail()); } } System.out.println("——————————————————————客户列表完成——————————————————————"); } public static void main(String[] args) { CustomerView view=new CustomerView(); view.enterMainMenu(); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。