JAVA基础小项目1

客户信息管理系统

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();
  
 }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值