栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Java项目二——客户信息管理软件

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java项目二——客户信息管理软件

目录

1.CMUtility工具类

2.客户类:Customer

3.客户信息管理类:CustomerList

 4.CustomerView为主模块

二、程序的运行结果展示

1.添加客户

2.修改客户

3.删除客户

4.显示客户

5.退出

1.CMUtility工具类

提供系统的输入方法,输入的数据均满足要求即可实现功能

package com.ljj.p2.util;

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.print("选择错误,请重新输入:");
			}
			else break;
		}
		return c;
	}
	
	public static char readChar()
	{
		String str = readKeyBoard(1,false);
		return str.charAt(0);
	}
	public static char readChar(char defaultValue)
	{
		String str = readKeyBoard(1,true);
		return (str.length()==0)?defaultValue :str.charAt(0);
	}
	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;
	}
	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;
	}
	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;
	 }
}
	

2.客户类:Customer

包含客户信息:客户姓名、性别、年龄、电话、邮箱

package com.ljj.p2.bean;

public class Customer 
{
	private String name;
	private char gender;
	private int age;
	private String phone;
	private String email;
	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 = 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;
	}
	

}

3.客户信息管理类:CustomerList

提供客户对象的数组以及客户对象的数量的属性total,还提供了将指定的客户添加到数组中,修改指定索引位置的客户信息,删除指定索引位置上的客户,获取所有的客户信息,获取指定索引位置上的客户,获取存储客户的数量等功能

package com.ljj.p2.service;

import com.ljj.p2.bean.Customer;


public class CustomerList 
{
	private Customer[] customers;//用来保存客户对象的数组
	private int total = 0;//记录已保存的客户对象的数量
	
	public CustomerList(int totalCustomer)
	{
		customers = new Customer[totalCustomer];
	}
	
	public boolean addCustomer(Customer customer)
	{
		if(total >= customers.length)
		{
			return false;
		}
		customers[total] = customer;
		total++;
		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)
		{
			return null;
		}
		return customers[index];
	}
	
	public int getTotal()
	{
		return total;
	}

}

 4.CustomerView为主模块

负责菜单的显示和处理用户操作

package com.ljj.p2.ui;

import com.ljj.p2.bean.Customer;
import com.ljj.p2.service.CustomerList;
import com.ljj.p2.util.CMUtility;


public class CustomerView 
{
	private CustomerList customerList = new CustomerList(10);

	public CustomerView()
	{
		Customer customer = new Customer("xxs",'男',22,"12345677890","xxs@qq.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("确认是否退出(Y/N):");
			char isExit = CMUtility.readConfirmSelection();
			if(isExit == 'Y')
			{
				isFlag = false;
			}
		}
		}
	}
	
	private void addNewCustomer()
	{
		//System.out.println("添加客户操作");
		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(15);
		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("---------客户目录已满,添加失败----------");
		}
	}
	
	
	
	private void modifyCustomer()
	{
		//System.out.println("修改客户操作");
		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.getName()+"):");
		String name = CMUtility.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(15, cust.getPhone());
		System.out.print("邮S箱("+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("删除客户操作");
		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.print("确认是否删除(Y/N):");
		char isDelete = CMUtility.readConfirmSelection();
		if(isDelete == 'Y')
		{
			boolean deleteSuccess = customerList.deleteCustomer(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电话tt邮箱");
			Customer[] custs = customerList.getAllCustomers();
			for(int i = 0;i 

二、程序的运行结果展示

1.添加客户

 

2.修改客户

 

3.删除客户

 

4.显示客户

 

5.退出

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1022769.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号