Java购物小系统(使用最基础的语法实现的控制台购物系统)

本文分享了一个Java实现的客户及商品信息管理系统项目,包括客户信息管理与商品信息管理两大模块,涉及添加、删除、修改、查询等功能。项目实践了Java基本语法、面向对象编程思想及常用数据结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自述:本人是一名卑微专科大一软件技术学生,目前学习Java已经快三个月了吧,在这里给大家分享一下我的学习成果,希望看到的大佬可以给我一些建议,也希望这篇文章能给正在学习Java的小伙伴一些练习的途径:

程序执行的入口是(InSystem.java)文件

总共分为十一个Java文件

manager包下:

pages包下:

 pojo包下:

 

  • 客户信息管理(ClientManager.java)

    • 添加客户信息(addClientInformation())

    • 创建一个客户类,里面声明客户应具备的客户信息,如:客户编号、客户姓名、客户电话、客户积分等,声明该类的对象数组,利用对象数组存储客户的信息,每添加一个客户就new一个客户类的对象

    • 删除客户信息(deleteClientInformation())

      • 从要删除的客户对象的索引开始,后一个对象赋值给前一个对象,直到为null的元素赋值给前一个元素为止,建议在没有添加客户,或是添加过客户但是删除完客户时,不让进入此功能,而提示 “当前还没有客户” 。

    • 修改客户信息 (updateClientInformation())

      • 输入客户编号,在对象数组中查找该编号,找到则返回该对象元素的索引,并对该对象的属性重新赋值,没找到则提示重新输入,建议在没有添加客户时,不让进入此功能,而提示 “当前还没有客户” 。

    • 查询客户信息 (queryClientInformation())

      • 输入客户编号,在对象数组中查找该编号,找到则返回该对象元素的索引,然后输出该索引位置的对象内的信息,没找到则提示重新输入,建议在没有添加客户时,不让进入此功能,而提示 “当前还没有客户” 。

    • 查看客户列表 (showClientInformationTraverse())

      • 利用for循环遍历所有对象数组内的对象,并输出其对应的客户信息,建议在没有添加客户时,不让进入此功能,而提示 “当前还没有客户” 。

    • 该系统还对客户信息的添加和修改输入时的信息进行了限制,客户编号(不能与添加过的客户编号相同,必须为四位字符),客户姓名(为两位到四位字符“ 这个主要是便于查看客户信息时的内容排版”),客户电话(为11位字符,且必须为“1”开头),客户积分(

  • 商品信息管理(ProductManager.java)

    • 购买商品 (productBuy())
    • 支付时判断支付金额是否大于或等于实际消费金额,true则继续结算,false则提示错误信息并重新输入

    • 显示商品目录后提示输入要购买的商品的编号和购买数量,并总结购买的各种信息,如:购买的商品名称、商品价格,购买的总金额,结束购买后进入结算界面,判断是否为客户,是客户则进入客户结算

      • 客户结算(checkOut()):

        • 输入会员编号,判断客户编号是否存在,

          • 存在:则查找到该会员的积分,利用积分判断需要的折扣

          • 不存在:提示该客户编号不存在并重新输入

      • 非客户结算(unClientPay()):

        • 如果选择不是客户则直接进入非客户结算

    • 添加商品信息 (addProduct())

      • 创建一个商品类,里面声明商品应该具备的信息,如:商品编号,商品名称,商品价格等,声明该类的对象数组,利用对象数组存储商品的信息,每添加一个商品就new一个商品类的对象

    • 删除商品信息 (deleteProductInformation())

      • 从要删除的商品对象的索引开始,后一个对象赋值给前一个对象,直到为null的元素赋值给前一个元素为止,建议在没有添加商品,或是添加过商品但是删除完商品时,不让进入此功能,而提示 “当前还没有商品” 。

    • 修改商品信息 (updateProductInformation())

      • 输入商品编号,在对象数组中查找该编号,找到则返回该对象元素的索引,并对该对象的属性重新赋值,没找到则提示重新输入,建议在没有添加商品时,不让进入此功能,而提示 “当前还没有商品” 。

    • 查询商品信息 (queryProductInformation())

      • 输入商品编号,在对象数组中查找该编号,找到则返回该对象元素的索引,然后输出该索引位置的对象内的信息,没找到则提示重新输入,建议在没有添加商品时,不让进入此功能,而提示 “当前还没有商品” 。

    • 查看商品目录 (productContent())

      • 利用for循环遍历所有对象数组内的对象,并输出其的商品信息,建议在没有添加商品时,不让进入此功能,而提示 “当前还没有商品” 。

    • 以及对商品信息输入时的信息进行了限制,商品编号(不能与添加过的客户编号相同),商品名称(无限制),商品价格(不能小于0)。这些功能都可以封装到一个工具类中以便重复使用。

  • 该项目涉及到的知识点有:

    • 基本数据类型(byte、short、int、long、float、double)

    • 引用数据类型(String、对象的引用、接口、数组)

    • 比较运算符,逻辑运算符,赋值运算符,if — else条件判断,switch — case条件判断,

    • while循环,使循环的中断的break关键字的使用(结束当前循环)

    • 使循环的中断的continue关键字的使用(结束当次循环)

    • Scanner类的实体化及其使用,数组的声明、数组的遍历、元素的查找、元素的修改等。

    • for循环的使用,

    • 值传递机制

    • 方法的声明和使用,方法的返回值,方法的形参

    • 封装性的应用(四种权限修饰符的使用:private、default(缺省)、protected、public)

    • 类的实例化

    以上涵盖不全,我也忘了具体用了哪些东西,反正都不难,但是很多知识点都能练习到。

    现在呢一直在看康师傅的Java基础视频,目前为止已经学到面向对象中 — 多态性了,但还不是很理解,加油!

    github仓库地址:

    GitHub - KeanuEcho/ShoppingSystem: 客户及商品信息管理系统

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值