1.创建基本的Customer类,主要是存放用户的姓名,年龄,性别等,但是要注意的是要对这些属性进封装(比较简单)

package com.atwanyan.bean;

public class Customer {
     
	private String name;
	private char gender;
	private int age;
	private String phone;
	private String email;
	public String getName() {
		return name;
	}
	
	public Customer(String name,char gender, int age, String phone, String email) {
		super();
		this.name = name;
		this.gender = gender;
		this.age = age;
		this.phone = phone;
		this.email = email;
	}

	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;
	}
	public Customer() {
		super();
	}
	
	

	
}

2.创建工具类CMUtility,主要用于对从键盘得到的数据进行限制,

   readKeyBoard(limit,boolean)函数,可以限制从键盘得到数据的长度(此函数得到数据是String类型),charAt()函数用于返回得到的数据

package com.atwanyan.util;
import java.util.*;

import org.omg.CORBA.PUBLIC_MEMBER;

// CMUtility工具类
// 将不同的功能封装为方法


public class CMUtility {
	
	private static Scanner scanner = new Scanner(System.in);   
	
	//功能选择
   public static char readMenuSelection() {
	   char c;
	   for(; ; ) {                                         //for(; ; ){} 表示无限循环
		   String string = readKeyBoard(1,false);          //readKeyBoard函数,用于从键盘读取参数限制长度的一行内容
			c = string.charAt(0);                          //charAt() 返回 指定索引 处的 char值
			if(c != '1' && c != '2'
			   &&c != '3' && c != '4' && c != '5'		
					) {
				System.out.println("选择错误,请重新输入:");
			}else break;			
		   }
		   return c;
	   }
   

	   
	   //从键盘读取数字
	   public static char readChar() {
		   String str = readKeyBoard(1, false);  
		   return str.charAt(0);
	   }
	   
	   public static char readChar(char defaultValue) {
		   String str =  readKeyBoard(1, true);
		   return (str.length() == 0) ? defaultValue : str.charAt(0);
	   }	 
	   
	   public static int readInt() {
		   int n;
		   for(; ; ) {
			   String str = readKeyBoard(2,false);		
			   try {
				   n = Integer.parseInt(str);
				   break;
			   }catch (NumberFormatException e) {
				// TODO: handle exception
				   System.out.println("数字输入错误,请重新输入:");
			}
			   
			   }
		   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);  // 将String类型转化为int
				   break;
			   }catch (NumberFormatException e) {
				// TODO: handle exception
				   System.out.println("数字输入错误,请重新输入:");
			}
			   
			   }
		   return n;
	   }
  
	   public static String readString (int limit) {
		   return readKeyBoard(limit , false);
	   }
	   
	   public static String readString (int limit,String  defaultValue) {
		String str =  readKeyBoard(limit,true);
		return str.equals("")? defaultValue : str;
		
	}
	   
	   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.println("选择错误,请重新的输入:");
			}
		}
		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.println("输入长度(不大于"+limit+")错误,请重新输入");
				  continue;
			  }
			  break;	
		}
		  return line;
	   }
}

3.customerList类,

用于创建customer数组的对象(customers[total++] = customer;)

total统计客户人数

package com.atwanyan.service;

import com.atwanyan.bean.Customer;

public class CustomerList {
   private Customer[] customers; //用来保存对象的数组
   private int total ; //记录以保存客户对象的数量
   
   //用构造器给数组赋值
   public CustomerList(int totalCustomer) {
	   customers = new Customer[totalCustomer];
   }
   
   //功能增删改查
   public boolean addCustomer(Customer customer) {
	   if (total >= customers.length) {
		   return false;
	   }
	   
	   customers[total++] = customer;            //给数组每个元素创建对象
	   return true;
   }
   
   public boolean replaceCustomer(int index,Customer cust) {
	         if (index < 0 || index >= total) {
	        	 return false;
	         }
	         
	         customers[index] = cust;
	         return true;
   }
   
   public boolean deleteCustomer(int index) {
	    if (index < 0 || total < index) {
	    	return false;
	    } 
	    for (int i = index;i<total-1;i++) {
	    	customers[index]=customers[index+1];
	    }
	    customers[total-1]=null;
	    total--;
	    return true;   
   }
   
   public Customer[] getAllCustomer() {
	   Customer[] cust = new Customer[total];
	   for (int i = 0 ; i < total;i++) {
		   cust [i] = customers[i];
	   }
	   return cust;
   }
   
   public Customer getCustomer(int index) {
	   
	   if(index > total || index < 0) {
		   return null;
	   }
	   
	   return customers[index];
	   
   }
   
   public int getTotal() {
	   return total;
   }
   
   
}

4.customerView类,主要是编译运行后的显示

package com.atwanyan.ui;

import com.atwanyan.bean.Customer;
import com.atwanyan.service.CustomerList;
import com.atwanyan.util.CMUtility;

/**
 * 
 * @author 顽岩
 * @date  2021年8月5日
 * 
 */

public class CustomerView {
	
   private CustomerList customerList = new CustomerList(10);
   
  Customer customer = new  Customer("顽岩",'男', 21, "18856", "@156565");
  
   //把往customerList.addCustomer(customer)传对象放在构造器里
   public CustomerView() {
	   customerList.addCustomer(customer);   //往里面传对象
   }
  
   
   //显示客户信息管理系统的首页
   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.println("                          请选择(1-5):     ");
		  char menu =  CMUtility.readMenuSelection();
		  
		   switch (menu) {
		case '1':
			addNewCustomer();
			break;
		case '2':
			modifyCustomer();
			break;
		case '3':
			deleteCustomer();
			break;
		case '4':
			listAllCustomers();
			break;
		case '5':
			System.err.println("是否确认退出(Y/N):");
			
			char isExit = CMUtility.readConfirmSelection();
			if (isExit == 'Y') {
				isFlag = false;
			}
			break;
		}
	   }
	   
   }
   
   //添加客户
   public void addNewCustomer() {
      
	   System.out.println("--------------客户添加-----------");
	   System.out.println("姓名:");
	   String name = CMUtility.readString(10);
	   System.out.println("性别:");
	   char gender = CMUtility.readChar();
	   System.out.println("年龄: ");
	   int age = CMUtility.readInt();
	   System.out.println("电话: ");
	   String phone = CMUtility.readString(13);
	   System.out.println("邮箱: ");
	   String email = CMUtility.readString(30);
	   
	   //将数据封装到对象中
	   Customer customer = new Customer(name,gender,age,phone,email);
      boolean isSuccess = customerList.addCustomer(customer);
      if (isSuccess) {
    	   System.out.println("------------添加完成--------------");
      } else {
    	   System.out.println("------------客户目录已满,添加失败!--------------");
      }
   
   }
   
   
   //修改客户
   public void modifyCustomer() {
	  
	   System.out.println("--------------修改客户-----------");
	   Customer cust;
	   int number;
	   for(;;) {
		   System.out.println("请选择待修改客户编号(-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) {
    	   System.out.println("------------修改完成--------------");
       } else {
    	   System.out.println("------------修改失败!--------------");
       }
   }
   
   //删除客户
   public void deleteCustomer() {
	   System.out.println("--------------删除客户-----------");
	   Customer cust;
	   int number;
	   for(;;) {
		   System.out.println("请选择待删除客户编号(-1退出)");
		   number = CMUtility.readInt();
		   if (number == -1) {
			   return ;
		   }
		   
		   Customer custo = customerList.getCustomer(number - 1);
		   if (custo == null) {
				System.out.println("无法找到指定客户!");
			}else {
				break;
			}
	   }
	   
	   //找到客户
	   System.out.println("确认是否删除(Y/N)");
	   char isDelete = CMUtility.readConfirmSelection();
	   if (isDelete == 'Y') {
		boolean deleteSuccess = customerList.deleteCustomer(number-1);
		if (deleteSuccess) {
           System.out.println("------------删除完成--------------");
		}else {
			System.out.println("------------删除失败!--------------");
		}
	}else {
		return;
	}
   }
   
   //显示客户列表
   public void listAllCustomers() {
      
	   System.out.println("------------客户列表--------------");
	   int total = customerList.getTotal();
	   if (total == 0) {
		System.out.println("没有客户记录!");
	}else {
		System.err.println("编号\t姓名\t性别\t年龄\t电话\t邮箱\t");
		Customer[] custs = customerList.getAllCustomer();
		for (int i = 0;i < custs.length;i++) {
			Customer cust = custs[i];
			System.out.println((i+1)+'\t'+cust.getName()+
					"\t"+cust.getGender()+"\t"+cust.getAge()+"\t"+
					cust.getPhone()+"\t"+cust.getEmail()
					);
		}
	}
	   
       System.out.println("------------客户列表完成--------------");
   }
   
   public static void main(String[] args) {
	   CustomerView customerView = new CustomerView();
	   customerView.enterMainMenu();
}
   
}

5.思维导图

java customer类 java customer类怎么写_System