客户信息管理系统
1.Customer
public class Customer {
private String nameString;
private char gender;
private int age;
private String phone;
private String email;
public String getNameString() {
return nameString;
}
public void setNameString(String nameString) {
this.nameString = nameString;
}
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(String nameString, char gender, int age, String phone,
String email) {
this.nameString = nameString;
this.gender = gender;
this.age = age;
this.phone = phone;
this.email = email;
}
}
2.CMUtility
import java.util.*;
public class CMUtility {
private static Scanner scanner=new Scanner(System.in) ;
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.println("选择错误,请冲刺你输入:");
}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.println("数字输入有误,请重新输入:");
}
}
return n;
}
//从键盘读取一个长度不超过limit的字符串,并将其作为方法的返回值
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;
}
//从键盘读取'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.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;
}
}
CustomerList
public class CustomerList {
private Customer[] customers;
private int total=0;
public CustomerList(int totalCustome){
customers=new Customer[totalCustome];
}
public boolean addCustomer(Customer customer){
if(total>=customers.length){
return false;
}
customers[total]=customer;
total++;
//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||index>=total){
return false;
}
for(int i=index;i<total-1;i++){
customers[i]=customers[i+1];
}
//数组中删除中间元素,最后末尾的元素要置空
customers[total-1]=null;
total--;
//customers[--total]=null
return true;
}
public Customer[] getAllCustomers(){
Customer[] custs=new Customer[total];
for(int i=0;i<total;i++){
custs[i]=customers[i];
}
return custs;
}
public Customer getCustomer(int index){
if(index<0||index>=total){
return null;
}
return customers[index];
}
public int getTotal(){
return total;
}
}
4.CoustomerView
public class CoustomerView {
private CustomerList customerList=new CustomerList(10);
//public CoustomerView(){
//Customer cust=new Customer("憨憨", '男', 30, "010-56253825", "2630337769@qq.com");
//customer(cust);
//}
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':
listAllCustomer();
break;
case '5':
System.out.print("确认是否退出(Y/N):");
char isExit=CMUtility.readConfirmSelection();
if(isExit=='Y'){
isFlag=false;
}
}
//isFlag=false
}
}
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){
System.out.println("-----------添加完成----------");
}else{
System.out.println("-----------添加失败----------");
}
}
public void modifyCustomer() {
System.out.println("----------修改客户----------");
Customer cust;
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.print("姓名("+cust.getNameString()+"):");
String name=CMUtility.readString(10,cust.getNameString() );
System.out.print("性别("+cust.getGender()+"):");
char gender=CMUtility.readchar(cust.getGender());
System.out.print("年龄("+cust.getAge()+"):");
int age=CMUtility.readInt();
System.out.print("电话("+cust.getPhone()+"):");
String phone=CMUtility.readString(13,cust.getPhone() );
System.out.print("邮箱("+cust.getEmail()+"):");
String email=CMUtility.readString(30,cust.getEmail());
Customer newcust=new Customer(name, gender, age, phone, email);
//把修改的元素替换
boolean isRepalaced=customerList.replaceCustomer(number-1, newcust);
if(isRepalaced){
System.out.println("-----------修改完成----------");
}else{
System.out.println("-----------修改失败----------");
}
}
public void deleteCustomer() {
System.out.println("----------删除客户----------");
Customer cust;
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.print("确认是否删除(Y/N):");
char isDelete=CMUtility.readConfirmSelection();
if(isDelete=='Y'){
customerList.deleteCustomer(number-1);
}
}
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邮箱");
Customer[] custs=customerList.getAllCustomers();
for(int i=0;i<custs.length;i++){
Customer cust=custs[i];
System.out.println((i+1)+"\t"+cust.getNameString()+"\t"+cust.getGender()+"\t"+cust.getAge()+"\t"+
cust.getPhone()+"\t"+cust.getEmail());
}
}
System.out.println("---------客户列表完成---------");
}
public static void main(String[] args) {
CoustomerView view=new CoustomerView();
view.enterMainMenu();
}
}