java基础语法_客户信息管理系统

本文档详述了一个基于文本界面的《客户信息管理软件》的实现,涵盖面向对象编程、数组操作、类结构和封装。软件包括CustomerView、CustomerList和Customer类,实现了添加、修改、删除和查看客户信息的功能。CMUtility类提供了键盘访问的辅助方法。
摘要由CSDN通过智能技术生成

目 标

模拟实现一个基于文本界面的《客户信息管理软件》  进一步掌握编程技巧和调试技巧,熟悉面向对象编程  主要涉及以下知识点:

类结构的使用:属性、方法及构造器

对象的创建与使用

类的封装性

声明和使用数组

数组的插入、删除和替换

关键字的使用:this

需求说明 

模拟实现基于文本界面的《客户信息管理软件》。 该软件能够实现对客户对象的插入、修改和删除(用数组实现),并能够打印客户明细表。 项目采用分级菜单方式。主菜单如下:

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

                                     1 添 加 客 户                        

                                     2 修 改 客 户                      

                                     3 删 除 客 户                    

                                     4 客 户 列 表                  

                                     5 退           出                    

                                    请选择(1-5):_ 

要求:

每个客户的信息被保存在Customer对象中。

以一个Customer类型的数组来记录当前所有的客户。

每次“添加客户”(菜单1)后,客户(Customer)对象被添加到数组中。

每次“修改客户”(菜单2)后,修改后的客户(Customer)对象替换数组中原对象。

每次“删除客户”(菜单3)后,客户(Customer)对象被从数组中清除。

执行“客户列表 ”(菜单4)时,将列出数组中所有客户的信息。

“添加客户”的界面及操作过程如下所示:

                ……            

       请选择(1-5):1

---------------------添加客户---------------------

姓名:佟刚

性别:男

年龄:35

电话:010-56253825

邮箱:tongtong@atguigu.com

---------------------添加完成---------------------

“修改客户”的界面及操作过程如下所示:

                ……            

       请选择(1-5):2

---------------------修改客户---------------------

请选择待修改客户编号(-1退出):1

姓名(佟刚):<直接回车表示不修改>

性别(男):

年龄(35): 电话(010-56253825):

邮箱(tongtong@atguigu.com):tongg@atguigu.com

---------------------修改完成---------------------

“删除客户”的界面及操作过程如下所示:   

             ……            

       请选择(1-5):3

---------------------删除客户---------------------

请选择待删除客户编号(-1退出):1

确认是否删除(Y/N):y

---------------------删除完成---------------------

“客户列表”的界面及操作过程如下所示:         

        ……                  请选择(1-5):4

---------------------------客户列表---------------------------

编号   姓名       性别    年龄         电话                   邮箱  

1        佟刚         男        45     010-56253825   tong@abc.com  

2        封捷         女        36     010-56253825   fengjie@ibm.com  

3        雷丰阳     男        32      010-56253825   leify@163.com

-------------------------客户列表完成-------------------------

软件设计结构

该软件由以下三个模块组成:

CustomerView为主模块,负责菜单的显示和处理用户操作

CustomerList为Customer对象的管理模块,内部用数组管理一组Customer对象,并提供相应的添加、修改、删除和遍历方法,供CustomerView调用

Customer为实体对象,用来封装客户信息

项目简图

 enterMainMenu()方法的活动图(主菜单)

 

键盘访问的实现

项目中提供了CMUtility.java类,可用来方便地实现键盘访问。

该类提供了以下静态方法:

public static char readMenuSelection()   

用途:该方法读取键盘,如果用户键入’1’-’5’中的任意字符,则方法返回。返回值为用户键入字符。

public static char readChar() 和 public static char readChar(char defaultValue)     

用途:这两个方法功能相同,均从键盘读取一个字符,并将其作为方法的返回值。      

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

(提示:此方法可在修改客户时调用)

public static int readInt() 和public static int readInt(int defaultValue)     

用途:这两个方法功能相同,均从键盘读取一个长度不超过2位的整数,并将其作为方法的返回值。      

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

public static String readString(int limit)  和     

public static String readString(int limit, String defaultValue)     

用途:这两个方法功能相同,均从键盘读取一个长度不超过limit的字符串,并将其作为方法的返回值。     

参数:limit — 指定字符串的最大长度                   

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

public static char readConfirmSelection()     

用途:从键盘读取‘Y’或’N’,并将其作为方法的返回值。

工具类CMUtility.java类,代码区:

(注意,如果认为自己有能力的,可以尝试自己编写工具类,然后应用于其他类中。

建议初学者,在看不懂具体内容的时候,只尝试应用方法就行,在逐渐学习中,会慢慢

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值