本文主要详细介绍了用java实现的客户信息管理系统。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
本文分享java客户信息管理系统的具体代码,供大家参考。具体内容如下。
一、CMUtility工具类
不同的函数封装成方法,即可以通过调用方法直接使用,不需要考虑具体函数的细节。
代码如下:
包com . p2 . util;
导入Java . util . *;
/**
*工具类别
*不同的函数封装成方法,就是你可以通过调用方法直接使用它的函数,不用考虑具体的工作。
*可以实现细节。
*
**/
公共类CMUtility {
私有静态扫描器scanner=新扫描器(system . in);
/**
*用于界面菜单选择。这个方法读取键盘。如果用户键入“1”到“5”中的任何字符,该方法将返回。
*返回值是用户选择的数字。
**/
public static char readMenuSelection(){
char c;
for(;){
String str=readaKeyBoard(1,false);
c=str . charat(0);
如果(c!='1' c!='2' c!='3' c!='4'
c!='5'){
System.out.println('选择错误,请重新输入:');
}else破;
}
返回c;
}
/**
*从键盘读取一个字符,并将其作为方法的返回值。
**/
public static char readChar(){
String str=readaKeyBoard(1,false);
返回str . charat(0);
}
/**
*从键盘读取一个字符,并将其作为方法的返回值。
*如果用户不输入字符而直接按enter,该方法将把defaultValue作为返回值。
**/
public static char read char(char default value){
String str=readaKeyBoard(1,true);
return (str.length()==0)?default value:str . charat(0);
}
/**
*从键盘上读取一个不超过2位数的整数,作为方法的返回值。
**/
public static int readInt(){
int n;
for(;){
String str=readaKeyBoard(2,false);
尝试{
n=integer . parse int(str);
打破;
} catch(NumberFormatException e){
System.out.println('数字输入错误,请重新输入:');
}
}
返回n;
}
/**
*从键盘上读取一个长度不超过2位的整数,作为方法的返回值。
*如果用户不输入字符而直接按enter,该方法将把defaultValue作为返回值。
**/
public static int readInt(int default value){
int n;
for(;){
String str=readaKeyBoard(2,true);
if(字符串等于(')){
返回默认值;
}
尝试{
n=integer . parse int(str);
打破;
} catch(NumberFormatException e){
System.out.println('数字输入错误,请重新输入:');
}
}
返回n;
}
/**
*从键盘上读取一个长读数不超过limit的字符串,作为方法的返回值。
**/
公共静态字符串readString (int limit){
返回readaKeyBoard(limit,false);
}
公共静态字符串readString (int limit,String defaultValue){
返回readaKeyBoard(limit,false);
}
/**
*从键盘上读取一个疮毒不超标的字符串作为方法的返回值。
*如果用户没有输入字符而是直接返回,则该方法将defaultValue作为返回值。
**/
public static char readconfirmselection(){
char c;
for(;){
String str=readaKeyBoard(1,false)。toupper case();
c=str . charat(0);
if (c=='Y' || c=='N'){
打破;
}否则{
System.out.println('选择错误,请重新输入:');
}
}
返回c;
}
私有静态字符串readaKeyBoard(int limit,boolean blankReturn){
字符串行=“”;
while (scanner.hasNextLine()){
line=scanner . nextline();
if(line.length()==0){
if (blankReturn)返回行;
否则继续;
}
if(line . length()1 | | line . length()limit){
System.out.println('输入长度(不大于' limit ')错误,请重新输入:');
继续;
}
打破;
}
回流线;
}
}
二、Customer
代码如下:
包com . p2 . bean;
/**
*将对象封装到方法中
*
*
**/
公共类客户{
私有字符串名称;//客户名称
私有char性别;//性别
私人年龄;//年龄
私弦电话;//电话号码
私人字符串电子邮件;//电子邮箱
//构造器
//方法(封装)
公共客户(字符串名称、字符性别、年龄、字符串电话、字符串电子邮件){
this.name=name
this.gender=性别;
this.age=年龄;
这个电话=电话
this.email=电子邮件
}
公共客户(){
}
公共字符串getName(){
返回名称;
}
公共void集合名称(字符串名){
this.name=name
}
public char getGender() {
返回性别;
}
public void set gender(char gender){
this.gender=性别;
}
public int getAge() {
回归年龄;
}
公共无效存储(整数){
this.age=年龄;
}
公共字符串getPhone() {
回电话;
}
公共电话(字符串电话){
这个电话=电话
}
公共字符串getEmail() {
回复邮件;
}
公共void setEmail(字符串电子邮件){
this.email=电子邮件
}
}
三、CustomerList
代码如下:
包com。p2。服务;
/**
* 最主要的
*
**/
导入com。p2。比恩。客户;
公共类客户列表{
私人客户[]客户;
private int total=0;
//构造器
/**
* 用来初始化客户数组的构造器
* @param totalCustomer:指定数组的长度
**/
公共客户列表(int总客户){//给正在创建的对象进行初始化
客户=新客户[总客户];
}
//方法
/**
* 将指定的客户添加到数组中
* @param客户
* @返回成功没错,失败:错误
**/
公共布尔型添加客户(客户客户){//增
if(合计0 | |合计=客户。长度){
返回错误的
}
客户[总数]=客户;
返回真实的
}
/**
* 修改指定位置的客户信息
* @param索引
* @param cust
* @返回
**/
public boolean替换客户(int index,Customer cust){//改
if(index 0 || index=total){
返回错误的
}
客户[索引]=顾客;
返回真实的
}
/**
* 删除指定位置上的客户
* @param索引
* @返回
**/
public boolean deletescushopher(int index){//删除
if(index 0 || index=total){
返回错误的
}
for(int I=index;一。总数-1;i ){
客户[我]=客户[I 1];
}
//最后有数据的元素需要置空
//customers[total-1]=null;
//total-;
客户[ -总计]=空;
返回真实的
}
/**
* 获得所有的客户信息
* @返回
**/
公共客户[] getAllCustomers() {//查询所有
客户[]客户=新客户[合计];
for(int I=0;我总计;i ){
客户[我]=客户[I];
}
退货客户;
}
/**
* 获取指定位置上的客户信息
* @param索引
* @返回
**/
公共客户getCustomer(int index) {//查询一个
if(index 0 || index=total){
返回空
}
回头客[索引];
}
//封装
/**
* 获取存储客户的的数量
* @返回
**/
public int getTotal() {//统计数据
返回总数;
}
}
四、CustomerView
代码如下:
包com。p2。ui;
导入com。p2。比恩。客户;
导入com。p2。服务。客户名单;
导入com。p2。util。cm实用程序;
/**
*
* 用户交互
*
*
*
**/
公共类客户视图{
私有客户列表客户列表=新客户列表(100);
公共客户视图(){
客户客户=新客户('王涛','男,23,' 13213123 ',' wt @ Gmail。com’);
customerList.addCustomer(客户);
}
/**
* 显示《客户信息管理软件》
**/
public void enterMainMenu(){
布尔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.print('请选择(1-5):');
char菜单=cm实用程序。readmenuselection();
开关(菜单){
案例"1":
addNewCustomer();
打破;
案例"2":
修改客户();
打破;
案例"3":
删除客户();
打破;
案例"4":
list all customers();
打破;
案例"5":
//System.out.println('退出');
System.out.println('确认是否退出(是/否):');
char是exit=cm实用程序。readconfirmselection();
if(isExit=='Y'){
isFlag=false
}
//break;
}
//is flag=false;
}
}
/**
* 添加客户
*
**/
私有void addNewCustomer(){
System.out.println(' -添加客户- ');
System.out.print('姓名:');
字符串名称=cm实用程序。读取字符串(10);
System.out.print('性别:');
char gender=cm实用程序。read char();
System.out.print('年龄:');
int age=cm实用程序。readint();
System.out.print('电话:');
字符串phone=cm实用程序。读取字符串(13);
System.out.print('邮箱:');
字符串email=cm实用程序。读取字符串(30);
//将上述数据封装到对象中
客户客户=新客户(姓名、性别、年龄、电话、邮箱);
布尔型问题访问=客户列表。添加客户(客户);
如果(问题访问){
System.out.println(' -添加完成- ');
}否则{
System.out.println(' -客户已满- ');
}
}
/**
* 修改客户
**/
私有空的修改客户(){
System.out.println(' -修改客户- ');
客户顾客
(同Internationalorganizations)国际组织数;
for(;){
System.out.print('选择要修改的客户编号(-1退出):');
数字=cm实用程序。readint();
if (number==-1){
返回;
}否则{
cust=customerList.getCustomer(数字-1);
if(cust==null){
System.out.println('无法找到指定客户!');
}else{//找到相应的客户
打破;
}
}
}
//修改客户信息
System.out.print('姓名:(' cust。getname()'):');
字符串名称=cm实用程序。readstring(10,cust。getname());
System.out.print('性别:(' cust。getgender()'):');
char gender=cm实用程序。读取char(cust。getgender());
System.out.print('年龄:(' cust。getage()'):');
int age=cm实用程序。readint(cust。getage());
System.out.print('电话:(' cust。get phone()'):');
字符串phone=cm实用程序。readstring(13,cust。get phone());
System.out.print('邮箱:(' cust。getemail()'):');
字符串email=cm实用程序。readstring(30,cust。getemail());
客户newcust=新客户(姓名、性别、年龄、电话、邮箱);
布尔被替换=客户列表。替换客户(编号1,新客户);
如果(被替换){
System.out.println('修改成功!');
}否则{
System.out.println('修改失败!');
}
}
/**
* 删除客户
**/
私有void deleteCustomer(){
System.out.println(' -删除客户- ');
(同Internationalorganizations)国际组织数;
for(;){
System.out.print('请选择呆删除客户的编号(-1退出):');
数字=cm实用程序。readint();
if (number==-1){
返回;
}
客户客户=客户列表。获取客户(数字-1);
if (customer==null){
System.out.println('无法找到指定客户!');
}否则{
打破;
}
}
//找到客户了
System.out.println('是否确认删除(是/否):');
char是delete=cm实用程序。readconfirmselection();
if(isDelete=='Y'){
布尔删除成功=客户列表。deletecusthomer(数字-1);
如果(删除成功){
System.out.println(' -删除成功- ');
}否则{
System.out.println(' -删除失败- ');
}
}否则{
返回;
}
}
/**
* 显示客户列表
**/
私有void listAllCustomers(){
//System.out.println('显示客户');
System.out.println(' -客户列表- ');
int total=客户列表。get total();
if(total==0){
System.out.println('没有客户记录!');
}否则{
System.out.println('编号\t姓名\t性别\t年龄\t电话\t\t邮箱');
客户[]客户=客户列表。get all customers();
for(int I=0;icusts.lengthi ){
客户cust=custs[I];
系统。出去。println((I 1)' \ t ' cust。getname()' \ t ' cust。getgender()
\t' cust.getAge()
\ t ' cust。getphone()' \ t ' cust。getemail());
}
}
System.out.println(' -客户列表结束- ');
}
公共静态void main(String[] args) {
客户视图view=新客户视图();
查看。enter main menu();
}
}
五、运行结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。