java实现客户信息管理系统

网友投稿 266 2023-02-01

java实现客户信息管理系统

本文实例为大家分享了java实现客户信息管理系统的具体代码,供大家参考,具体内容如下

一、CMUtility工具类

讲不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功能实现细节。

代码如下:

package com.p2.util;

import java.util.*;http://

/**

* 工具类

* 讲不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功

* 能实现细节。

*

**/

public class CMUtility {

private static Scanner scanner = new Scanner(System.in);

/**

* 用于界面菜单的选择,该方法读取键盘,如果用户键入"1"-"5"中的任意字符,则方法返回。

* 返回值为用户选择的数字。

**/

public static char readMenuSelection(){

char c;

for (; ; ){

String str = readaKeyBoard(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 = readaKeyBoard(1, false);

return str.charAt(0);

}

/**

* 从键盘读取一个字符,并将其作为方法的返回值。

* 如果用户不输入字符而直接回车,方法将以defaultValue 作为返回值。

**/

public static char readChar(char defaultValue){

String str = readaKeyBoard(1, true);

return (str.length() == 0) ? defaultValue :str.charAt(0);

}

/**

* 从键盘读取一个长度不超过2位的整数,并将其作为方法的返回值。

**/

public static int readInt(){

int n;

for (; ; ){

String str = readaKeyBoard(2, false);

try{

n = Integer.parseInt(str);

break;

}catch(NumberFormatException e){

System.out.println("数字输入错误,请重新输入:");

}

}

return n;

}

/**

* 从键盘读取一个长度不超过2位的整数,并将其为方法的返回值。

* 如果用户不输入字符而直接回车,方法将以defaultValue 作为返回值。

**/

public static int readInt(int defaultValue){

int n;

for(; ; ){

String str = readaKeyBoard(2, true);

if (str.equals("")){

return defaultValue;

}

try{

n = Integer.parseInt(str);

break;

}catch(NumberFormatException e){

System.out.println("数字输入错误,请重新输入:");

}

}

return n;

}

/**

* 从键盘 读取一个长读不超过limit的字符串,并将其作为方法的返回值。

**/

public static String readString (int limit){

return readaKeyBoard(limit,false);

}

public static String readString (int limit, String defaultValue){

return readaKeyBoard(limit,false);

}

/**

* 从键盘读取一个疮毒不超过limit的字符串,将其作为方法的返回值。

* 如果用户不输入字符而直接回车,方法以defaultValue作为返回值。

**/

public static char readComfirmSelection(){

char c;

for (; ; ){

String str = readaKeyBoard(1, false).toUpperCase();

c = str.charAt(0);

if (c == 'Y' || c == 'N'){

break;

}else{

System.out.println("选择错误,请重新输入:");

}

}

return c;

}

private static String readaKeyBoard(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;

}

}

二、Customer

代码如下:

package com.p2.bean;

/**

* 把对象封装到方法里面

*

*

**/

public class Customer {

private String name;//客户姓名

private char gender;//性别

private int age; //年龄

private String phone;//电话号码

private String email;//电子邮箱

//构造器

//方法(封装)

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 Customer() {

}

public String getName(){

return name;

}

public void setName(String name) {

this.name = name;

}

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 RgzQTDigx= email;

}

}

三、CustomerList

代码如下:

package com.p2.service;

/**

* 最主要的

*

**/

import com.p2.bean.Customer;

public class CustomerList {

private Customer[] customers;

private int total = 0;

//构造器

/**

* 用来初始化customers数组的构造器

* @param totalCustomer: 指定数组的长度

**/

public CustomerList (int totalCustomer){//给正在创建的对象进行初始化

customers = new Customer[totalCustomer];

}

//方法

/**

* 将指定的客户添加到数组中

* @param customer

* @return成功true,失败:false

**/

public boolean addCustomer(Customer customer){//增

if(total < 0 || total >= customers.length){

return false;

}

customers[total++] = customer;

return true;

}

/**

* 修改指定位置的客户信息

* @param index

* @param cust

* @return

**/

public boolean replaceCustomer(int index, Customer cust){//改

if(index <0 || index >= total){

return false;

}

customers[index] = cust;

return true;

}

/**

* 删除指定位置上的客户

* @param index

* @return

**/

public boolean deleteCustsomer(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;

}

/**

* 获得所有的客户信息

* @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;

}

}

四、CustomerView

代码如下:

package com.p2.ui;

import com.p2.bean.Customer;

import com.p2.service.CustomerList;

import com.p2.util.CMUtility;

/**

*

* 用户交互

*

*

*

**/

public class CustomerView {

private CustomerList customerList = new CustomerList(100);

public CustomerView(){

Customer customer = new Customer("王涛",'男', 23, "13213123","wt@gmail.com");

customerList.addCustomer(customer);

}

/**

* 显示《客户信息管理软件》

**/

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.print(" 请选择(1-5):");

char menu = CMUtility.readMenuSelection();

switch(menu){

case '1':

addNewCustomer();

break;

case '2':

modifyCustomer();

break;

case '3':

deleteCustomer();

break;

case '4':

listAllCustomers();

break;

case '5':

// System.out.println("退出");

System.out.println("确认是否退出(Y/N):");

char isExit = CMUtility.readComfirmSelection();

if(isExit =='Y'){

isFlag = false;

}

// break;

}

// isFlag = false;

}

}

/**

* 添加客户

*

**/

private 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 isSucccess = customerList.addCustomer(customer);

if(isSucccess){

System.out.println("------添加完成------");

}else{

System.out.println("------客户已满------");

}

}

/**

* 修改客户

**/

private void modifyCustomer(){

System.out.println("---------修改客户-------");

Customer cust;

int number;

for(;;){

System.out.print("选择要修改的客户编号(-1退出):");

number = CMUtility.readInt();

if (number == -1){

return;

}else{

cust = customerList.getCustomer(number - 1);

if(cust == null){

System.out.println("无法找到指定客户!!");

}else{//找到相应的客户

break;

}

}

}

//修改客户信息

System.out.print("姓名:(" + cust.getName() + "):");

String name = CMUtihttp://lity.readString(10, cust.getName());

System.out.print("性别:(" + cust.getGender() + "):");

char gender = CMUtility.readChar(cust.getGender());

System.out.print("年龄:(" + cust.getAge() + "):");

int age = CMUtility.readInt(cust.getAge());

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("修改失败!!");

}

}

/**

* 删除客户

**/

private void deleteCustomer(){

System.out.println("-------删除客户-------");

int number;

for(;;){

System.out.print("请选择呆删除客户的编号(-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 isDelete = CMUtility.readComfirmSelection();

if(isDelete == 'Y'){

boolean deleteSuccess = customerList.deleteCustsomer(number - 1);

if(deleteSuccess ){

System.out.println("-----------删除成功---------");

}else{

System.out.println("-----------删除失败---------");

}

}else{

return;

}

}

/**

* 显示客户列表

**/

private void listAllCustomers(){

// System.out.println("显示客户");

System.out.println("---------客户列表-------");

int total = customerList.getTotal();

if(total == 0){

System.out.println("没有客户记录!");

}else{

System.out.println("编号\t姓名\t性别\t年龄\t电话\t\t邮箱");

Customer[] custs = customerList.getAllCustomers();

for(int i = 0;i

Customer cust = custs[i];

System.out.println((i + 1) +"\t"+ cust.getName() +"\t" +cust.getGender()

+ "\t"+cust.getAge() +

"\t" + cust.getPhone() + "\t" + cust.getEmail());

}

}

System.out.println("---------客户列表结束-------");

}

public static void main(String[] args) {

CustomerView view = new CustomerView();

view.enterMainMenu();

}

}

五、运行结果

Customer cust = custs[i];

System.out.println((i + 1) +"\t"+ cust.getName() +"\t" +cust.getGender()

+ "\t"+cust.getAge() +

"\t" + cust.getPhone() + "\t" + cust.getEmail());

}

}

System.out.println("---------客户列表结束-------");

}

public static void main(String[] args) {

CustomerView view = new CustomerView();

view.enterMainMenu();

}

}

五、运行结果

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:摄像机开放api接口(监控api接口)
下一篇:api 接口(api接口异常什么意思)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~