java项目之Bank银行代码

举报
小小谢先生 发表于 2022/04/16 00:31:13 2022/04/16
【摘要】 文中所有代码来自尚硅谷宋红康老师的Java课程,如有侵权请联系删除。 项目说明: 模拟实现一个基于文本界面的 《 客户信息管理软件 》。 该软件能够实现对客户对象的插入、修改和删除(用数组实现),并能够打印客户明细表。 项目采用分级菜单方式。主菜单如下:     &...

文中所有代码来自尚硅谷宋红康老师的Java课程,如有侵权请联系删除。

项目说明:

模拟实现一个基于文本界面的 客户信息管理软件 》。

该软件能够实现对客户对象的插入、修改和删除(用数组实现),并能够打印客户明细表。

项目采用分级菜单方式。主菜单如下:

             -----------------客户信息管理软件-----------------

 

                                     1 添 加 客 户

                                     2 修 改 客 户

                                     3 删 除 客 户

                                     4 客 户 列 表

                                     5 退           出

 

                                     请选择(1-5)_

每个客户的信息被保存在c ustomer 对象中。
以一个c ustomer 类型的数组来记录当前所有的客户。
每次“添加客户”(菜单 1 )后,客户( Customer )对象被添加到数组中。
每次“修改客户”(菜单 2 )后,修改后的客户( Customer )对象替换数组中原对象。
每次“删除客户”(菜单 3 )后,客户( Customer )对象被从数组中清除。
执行“客户列表 ”(菜单 4 )时,将列出数组中所有客户的信息。
 
 
 

项目代码

整个项目分为4个Java文件,分别实现功能。

CMUtility文件,实现与客户的交互


      package customer.util;
      import java.util.*;
      public class CMUtil {
         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;
          }
         /**
       从键盘读取一个长度不超过2位的整数,并将其作为方法的返回值。
       如果用户不输入字符而直接回车,方法将以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("数字输入错误,请重新输入:");
                  }
              }
             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') {
                     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;
          }
      }
  
 

customer代码文件,实现创建客户信息


      package customer.bean;
      public class customer {
         private String name;
         private char gender;
         private int age;
         private String phone;
         private String 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 String getPhone() {
             return phone;
          }
         public void setPhone(String phone) {
             this.phone = phone;
          }
         public void setEmail(String email) {
             this.email = email;
          }
         public String getEmail() {
             return 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;
          }
      }
  
 

customerList文件,实现客户信息的一些操作


      package customer.service;
      import customer.bean.customer;
      public class customerList {
         private customer[] customers; //用来保存用户对象的数组
         private int total=0;  //记录已保存的客户的数量
         public customerList(int totalCustomer){
              customers=new customer[totalCustomer];
          }
         public boolean addcustomer(customer customes){
             if (total>=customers.length){
                 return false;
              }
              customers[total++]=customes;
             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=0;i<total-1;i++){
                  customers[i]=customers[i+1];
              }
              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;
          }
      }
  
 

customerView文件,实现主界面实现和逻辑交互


      package customer.ui;
      import customer.bean.customer;
      import customer.service.customerList;
      import customer.util.CMUtil;
      public class customerview {
             private customerList customers=new customerList(10);
             public customerview(){
              customer cust=new customer("张三", '男', 30, "010-56253825",
                     "abc@email.com");
              customers.addcustomer(cust);
          }
             public void enterMainMenu(){
                 boolean loopFlag = true;
                 do {
                      System.out.println("\n-----------------客户信息管理软件-----------------\n");
                      System.out.println(" 1 添 加 客 户");
                      System.out.println(" 2 修 改 客 户");
                      System.out.println(" 3 删 除 客 户");
                      System.out.println(" 4 客 户 列 表");
                      System.out.println(" 5 退 出\n");
                      System.out.print(" 请选择(1-5):");
                     char key = CMUtil.readMenuSelection();
                      System.out.println();
                     switch (key) {
                         case '1':
                              addNewCustomer();
                             break;
                         case '2':
                              modifyCustomer();
                             break;
                         case '3':
                              deleteCustomer();
                             break;
                         case '4':
                              listAllCustomers();
                             break;
                         case '5':
                              System.out.print("确认是否退出(Y/N):");
                             char yn = CMUtil.readConfirmSelection();
                             if (yn == 'Y')
                                  loopFlag = false;
                             break;
                      }
                  } while (loopFlag);
              }
             private void addNewCustomer() {
                  System.out.println("---------------------添加客户---------------------");
                  System.out.print("姓名:");
                 String name = CMUtil.readString(4);
                  System.out.print("性别:");
                 char gender = CMUtil.readChar();
                  System.out.print("年龄:");
                 int age = CMUtil.readInt();
                  System.out.print("电话:");
                 String phone = CMUtil.readString(15);
                  System.out.print("邮箱:");
                 String email = CMUtil.readString(30);
                 customer cust = new customer(name, gender, age, phone, email);
                 boolean flag = customers.addcustomer(cust);
                 if (flag) {
                      System.out
                              .println("---------------------添加完成---------------------");
                  } else {
                      System.out.println("----------------记录已满,无法添加-----------------");
                  }
              }
             private void modifyCustomer() {
                  System.out.println("---------------------修改客户---------------------");
                 int index = 0;
                 customer cust = null;
                 for (;;) {
                      System.out.print("请选择待修改客户编号(-1退出):");
                      index = CMUtil.readInt();
                     if (index == -1) {
                         return;
                      }
                      cust = customers.getCustomer(index - 1);
                     if (cust == null) {
                          System.out.println("无法找到指定客户!");
                      } else
                         break;
                  }
                  System.out.print("姓名(" + cust.getName() + "):");
                 String name = CMUtil.readString(4, cust.getName());
                  System.out.print("性别(" + cust.getGender() + "):");
                 char gender = CMUtil.readChar(cust.getGender());
                  System.out.print("年龄(" + cust.getAge() + "):");
                 int age = CMUtil.readInt(cust.getAge());
                  System.out.print("电话(" + cust.getPhone() + "):");
                 String phone = CMUtil.readString(15, cust.getPhone());
                  System.out.print("邮箱(" + cust.getEmail() + "):");
                 String email = CMUtil.readString(15, cust.getEmail());
                  cust = new customer(name, gender, age, phone, email);
                 boolean flag = customers.replacecustomer(index - 1, cust);
                 if (flag) {
                      System.out
                              .println("---------------------修改完成---------------------");
                  } else {
                      System.out.println("----------无法找到指定客户,修改失败--------------");
                  }
              }
             private void deleteCustomer() {
                  System.out.println("---------------------删除客户---------------------");
                 int index = 0;
                 customer cust = null;
                 for (;;) {
                      System.out.print("请选择待删除客户编号(-1退出):");
                      index = CMUtil.readInt();
                     if (index == -1) {
                         return;
                      }
                      cust = customers.getCustomer(index - 1);
                     if (cust == null) {
                          System.out.println("无法找到指定客户!");
                      } else
                         break;
                  }
                  System.out.print("确认是否删除(Y/N):");
                 char yn = CMUtil.readConfirmSelection();
                 if (yn == 'N')
                     return;
                 boolean flag = customers.deletecustomer(index - 1);
                 if (flag) {
                      System.out
                              .println("---------------------删除完成---------------------");
                  } else {
                      System.out.println("----------无法找到指定客户,删除失败--------------");
                  }
              }
             private void listAllCustomers() {
                  System.out.println("---------------------------客户列表---------------------------");
                  customer[] custs = customers.getAllCustomers();
                 if (custs.length == 0) {
                      System.out.println("没有客户记录!");
                  } else {
                      System.out.println("编号\t姓名\t性别\t年龄\t\t电话\t\t邮箱");
                     for (int i = 0; i < custs.length; i++) {
                          System.out.println(i + 1 + "\t" + custs[i].getName() + "\t" + custs[i].getGender() + "\t" + custs[i].getAge() + "\t\t" + custs[i].getPhone() + "\t" + custs[i].getEmail());
                         //System.out.println((i+1) + "\t" + custs[i].getDetails());
                      }
                  }
                  System.out.println("-------------------------客户列表完成-------------------------");
              }
             public static void main(String[] args) {
                 customerview cView = new customerview();
                  cView.enterMainMenu();
              }
          }
  
 
 
 
 

文章来源: blog.csdn.net,作者:小小谢先生,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/xiewenrui1996/article/details/108376949

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。