个人信息管理系统

news/2024/10/18 14:22:04/

1.分类

bean:负责数据处理和存储

​ Customer

controller:负责控制

​ CustomerList

util:工具包

​ CMUtility

view:可视化

​ CustomerView

2.每个代码如下

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();}
}

http://www.ppmy.cn/news/576142.html

相关文章

个人信息与个人敏感信息

参考《信息安全技术 个人信息安全规范》&#xff08;GB/T 35273-2020&#xff09; 1、个人信息 是指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映自然人活动情况的各种信息&#xff0c;如姓名、出生日期、身份证件号码、个人生物识别信息、…

查询用户信息

1、查询一般都是根据主键的id进行查询&#xff0c;根据前端的要求&#xff0c;探讨前端需要在页面上面展现的数据&#xff0c;就是我们查询后需要返回的数据&#xff0c;放在vo里面进行统一的封装&#xff0c;参数就是我们的主键id // 查询账户信息 1:ApiOperation(value &qu…

个人信息法规

个人信息 关键事件 《未成年人网络保护条例&#xff08;送审稿&#xff09;》向社会公开征求意见 2017年1月6日&#xff0c;国务院法制办公布《未成年人网络保护条例(送审稿)》及其说明&#xff0c;并向社会各界征求意见。送审稿针对网络信息内容建设、未成年人网络权益保障…

数据安全_个人信息查询

个人信息查询 个人信息资产清单查询本文相关网址&#xff08;附录&#xff09;总结用户角度企业角度 引用 个人信息资产清单查询 本文相关网址&#xff08;附录&#xff09; 中国人民银行征信中心官网&#xff1a;http://www.pbccrc.org.cn/火狐Firefox Monitor&#xff1a;ht…

个人信息:

注册资料 邮箱网站&#xff1a;http://www.126.com/ 登陆帐号&#xff1a;zhihuixuezhe 邮箱地址&#xff1a;zhihuixuezhe126.com CSDN网站&#xff1a;http://www.csdn.net/ 登陆帐号&#xff1a;zhihuixuezhe CSDN地址&#xff1a;http://writeblog.csdn.net/PostList…

个人信息系统

1个人信息系统需求分析 1.1初步需求 1 . 建立Person类&#xff0c;包括身份证号码、姓名、电话号码。 2 . 从键盘录入每个人的信息&#xff0c;每次录入要验证合法性。 3 . 身份证号码录入时要验证合法性&#xff0c;合法的身份证号码要求&#xff1a; (1) 身份证号码长度必…

隐私信息检索(隐匿查询)

隐私信息检索&#xff08;隐匿查询&#xff09; 1 隐私信息检索概述1.1 使用场景1.2 查询流程1.3 与不经意传输之间的差别 2 隐私信息检索发展过程&#xff08;类型&#xff09;2.1 基于数论的PIR方案2.2 基于同态加密的PIR方案2.3 基于编码理论的单服务器PIR方案 3 基于同态加…

公民个人信息保护方案汇总

随着大数据时代的到来&#xff0c;个人信息保护得到了前所未有的重 视。国际上围绕个人信息的获取、分析、利用和控制的竞争越来越 激烈&#xff0c;个人信息安全已成为维护国家安全、保持社会稳定、关系长 远利益的关键组成部分&#xff0c;备受各国政府的关注和重视。如何确保…