Java电子商城项目控制台版(面向对象版)

 

 

基于面向对象的方式编程

根据商城菜单分析如下的对象的内容:

对象 属性 行为
用户 用户名和密码 注册,登录,购买,查看
管理员 用户名和密码 添加,修改,删除
商城

当前登录用户

管理员

商品集合

用户集合

扫描器

显示菜单的方法

获取用户输入的菜单

判断用户输入的菜单

商品 编号,名称,价格,数量  

User类:

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Scanner;
/**
 * User
 * 这个been类实现了Serializable这个接口(实现文件读写(序列化))
 * 所具有的属性:用户名,密码
 * 所具有的行为:注册,登录,购买,查看
 * @author 
 *
 */
public class User implements Serializable{
	String username;
	String userpwd;
	Goods goods = new Goods();
	//验证是否登录
	private boolean isLogin;
	
	
	public boolean isLogin() {
		return isLogin;
	}

	public void setLogin(boolean isLogin) {
		this.isLogin = isLogin;
	}

	/*
	 * 校验用户名合法性
	 */
	private boolean checkUsername(String username) {
		//定义一个为false的bool值
		boolean res = false;
		//用户名长度不满6位,则重新输入
		if (username.length() != 6) {
			System.out.println("用户名长度必须为6位");
			return res;
		} else if (Character.isDigit(username.charAt(0))) {//用户名不能以数字开头,则重新输入
			System.out.println("用户名不能以数字开头");
			return res;
		} else {
			//成功,返回true,继续下一步操作
			return res = true;
		}
	}
	
	/*
	 * 购买商品的方法
	 */
	public void buy() {
		while (true) {
			System.out.println("请选择您需要购买商品的编号:");
			int id = Shop.sc.nextInt();
			System.out.println("您将要的购买的商品信息如下:");
			Goods shopGoods = this.findGoodsById(id);
			System.out.println(shopGoods);
			System.out.println("请输入您需要购买商品的数量:");
			int num = Shop.sc.nextInt();

			Goods myGoods = new Goods();
//			myGoods.setId(shopGoods.getId());
//			myGoods.setName(shopGoods.getName());
//			myGoods.setPrice(shopGoods.getPrice());
			//通过clone()方法,就省去了以上备注释的内容
			myGoods = shopGoods.clone();
			myGoods.setNum(num);
			//将已选择的商品添加到我的商品集合中
			Shop.myGoodsList.add(myGoods);
			System.out.println("是否继续Y/N");
			String choice = Shop.sc.next();
			choice = choice.toUpperCase();
			if (choice.equals("N")) {
				break;
			}
		}
		this.showMyGoodsList();
	}
	/*
	 * 展示已购买的商品信息
	 */
	private void showMyGoodsList() {
		System.out.println("******您购买的商品列表如下******");
		BigDecimal total = new BigDecimal("0");
		for (Goods myGoods : Shop.myGoodsList) {
			System.out.println(myGoods);
			//将在buy()方法中储存的信息提取出来,获取商品的价格
			BigDecimal price = myGoods.getPrice();
			//获取商品的数量
			int num = myGoods.getNum();
			//计算
			total = total.add(price.multiply(new BigDecimal(num)));
			//total = total.add(myGoods.getPrice().multiply(new BigDecimal(myGoods.getNum())));
		}
		System.out.println("总价格为:" + total);
	}
	/*
	 * 注册方法
	 */
	public void registUser() {
		//校
  • 6
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java控制台电子商城项目文档是一个详细记录该项目的功能、设计、实现以及使用方法的文档。这个项目旨在使用Java编程语言创建一个可以在控制台上运行的电子商城。 这个文档的主要内容包括以下几个方面: 1. 项目介绍:对项目的背景和目的进行简要说明,解释电子商城的功能和使用场景,介绍项目的目标群体。 2. 功能需求:列出项目的主要功能需求,包括用户注册登录、商品浏览和购买、订单管理等。每个功能需求都需详细描述其具体操作和预期结果。 3. 系统设计:详细描述项目的系统设计,包括数据库设计、类的设计以及业务流程图等。需说明项目涉及到的实体、类之间的关系以及业务逻辑。 4. 技术实现:介绍项目所使用的Java编程语言以及相关的开发框架和工具。详细描述各个功能点的具体实现方式,包括代码片段、算法和数据结构的使用。 5. 测试计划:制定项目的测试计划,包括单元测试、集成测试和系统测试。设计测试用例并描述预期结果,以确保项目的功能和性能符合需求。 6. 使用指南:提供给用户的使用指南,包括项目的安装部署、运行环境要求以及使用步骤。同时,还应提供常见问题解答和故障排除方法。 7. 项目进度:记录项目的开发进度和里程碑,包括项目启动时间、完成时间以及关键任务的进度。 通过这份Java控制台电子商城项目文档,团队成员可以清晰地了解项目的整体设计和实现方式,并能按照文档提供的指南进行开发和使用。此外,该文档还可以作为后续维护和升级的参考,方便其他开发人员了解项目的历史和变更记录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值