利用集合实现一个简单的购物商城

//运行展示在最后

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import hncu.cn.baseCode.homeWork.shop.bean.Prodect;
import hncu.cn.baseCode.homeWork.shop.bean.ShoppingCar;
//本例没使用到泛型,所以全部的警告都盖掉了
@SuppressWarnings("all")
public class Main {
	private static List listIni = new ArrayList();// 初始化购物商城 集合
	private static ShoppingCar shoppingCar = new ShoppingCar();// 购物车
	private static Scanner scanner = new Scanner(System.in);

	public static void main(String[] args) {
		// 初始化
		init();
		System.out.println("****************欢迎来到老干爹商城*****************");
		while (true) {
			System.out.print("请输入操作序号:< 1.查看商品  2.查看购物车  3.退出系统 >");
			int i = scanner.nextInt();
			switch (i) {
			case 1:
				showPro();// 查看商品,是否购买
				break;
			case 2:
				// 查看购物车,是否结算
				showCar();
				break;
			case 3:
				// 退出
				System.exit(0);
				break;
			default:
				break;
			}
		}
	}

	private static void showCar() {
		if (shoppingCar.getList().size() == 0) {
			System.out.println("你的购物车为空");
		} else {
			shoppingCar.print();//展示购物车
			shoppingCar.settleAccounts();//是否结算
		}
	}

	public static void showPro() {
		// 显示商品
		print(listIni);
		System.out.print("是否购买商品<1.是   2.否>");
		int i = scanner.nextInt();
		if (i == 1) {
			int c = shoppingCar.shop(listIni);
			Prodect p = (Prodect) listIni.get(c);
			int count = p.getCount();
			if(count>0){
				((Prodect) listIni.get(c)).setCount(count--);// (如果没了呢....)
			}else {
				System.out.println("该商品库存为 0,再看看其他商品吧~");
			}
		}
	}

	public static void print(List list) {
		System.out.println("编号\t品名\t价格\t描述\t存货量");
		for (Object object : list) {
			System.out.println(object.toString()+((Prodect)(object)).getCount());
		}
	}

	public static void init() {
		for (int i = 0; i < 5; i++) {
			Prodect prodect = new Prodect(i, "VIVO", 500 * (i + 1), ("VIVO" + i + " 代"), i * i + 10);
			listIni.add(prodect);
		}
	}
}



import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import javax.swing.text.StyledEditorKit.ForegroundAction;

@SuppressWarnings("all")
public class ShoppingCar {
	private List list = new ArrayList();

	public List getList() {
		return list;
	}

	public void setList(List list) {
		this.list = list;
	}

	private int count;

	public ShoppingCar() {
		super();
	}

	public ShoppingCar(int count) {
		super();
		this.count = count;
	}

	public int shop(List li) {
		System.out.print("请输入需要购买的商品编号:");
		int i = new Scanner(System.in).nextInt();
		Prodect po = (Prodect) li.get(i);
		list.add(po);
		return i;// 返回需要购买的编号
	}

	public  void print() {
		System.out.println("编号\t品名\t价格\t描述");
		for (Object object : list) {
			System.out.println(object);
		}
	}
	public void settleAccounts(){
		System.out.println("是否结算?< 1.是  2.否  >");
		int i = new Scanner(System.in).nextInt();
		if(i == 1){
			System.out.println("总金额是:"+countMoney());
		}
	}
	public double countMoney(){
		double s = 0;
		for (Object object : list) {
			double price = ((Prodect)(object)).getPrice();
			s += price;
		}
		//清空购物车
		list.removeAll(list);
		return s;
	}
}

@SuppressWarnings("all")
public class Prodect {
	private int id;
	private String name;
	private double price;
	private String diString;// 描述
	private int count;// 总数

	public Prodect(int id, String name, double price, String diString, int count) {
		super();
		this.id = id;
		this.name = name;
		this.price = price;
		this.diString = diString;
		this.count = count;
	}

	public int getCount() {
		return count;
	}

	public void setCount(int count) {
		this.count = count;
	}

	public Prodect() {
		super();
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getPrice() {
		return price;
	}

	public void setPrice(double price) {
		this.price = price;
	}

	public String getDiString() {
		return diString;
	}

	public void setDiString(String diString) {
		this.diString = diString;
	}

	@Override
	public String toString() {
		return id + "\t" + name + "\t" + price + "\t" + diString + "\t";
	}

}

下面是运行结果:


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mallcloud商城基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离vue的企业级微服务敏捷开发系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等。 mallcloud商城特点: 1、前后端分离的企业级微服务架构 2、基于Spring Boot 2.0.X、Spring Cloud Finchley和Spring Cloud Alibaba 3、深度定制Spring Security真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案 4、提供应用管理,方便第三方系统接入 5、引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易 6、注重代码规范,严格控制包依赖,每个工程基本都是最小依赖 7、非常适合学习和企业中使用 mallcloud商城功能: 1、统一认证功能 支持oauth2的四种模式登录 支持用户名、密码加图形验证码登录 支持手机号加密码登录 支持openId登录 支持第三方系统单点登录 2、分布式系统基础支撑 服务注册发现、路由与负载均衡 服务降级与熔断 服务限流(url/方法级别) 统一配置中心 统一日志中心 统一分布式缓存操作类、cacheManager配置扩展 分布式锁 分布式任务调度器 支持CI/CD持续集成(包括前端和后端) 分布式高性能Id生成器 分布式事务 3、系统监控功能 服务调用链监控 应用拓扑图 慢服务检测 服务Metric监控 应用监控(应用健康、JVM、内存、线程) 错误日志查询 慢查询SQL监控 应用吞吐量监控(qps、rt) 服务降级、熔断监控 服务限流监控 分库分表、读写分离 4、业务基础功能支撑 高性能方法级幂等性支持 RBAC权限管理,实现细粒度控制(方法、url级别) 快速实现导入、导出功能 数据库访问层自动实现crud操作 代码生成器 基于Hutool的各种便利开发工具 网关聚合所有服务的Swagger接口文档 统一跨域处理 统一异常处理 mallcloud商城演示地址 账号密码:admin/admin 应用监控账号密码:admin/admin 配置中心账号密码:nacos/nacos APM监控账号密码:admin/admin Grafana账号:mall/mall txlcn事务管理器密码:admin 任务管理账号密码:admin/123456
资源简介:SSM Java 项目集合 一、概述 在这个平台上,我们为大家带来了一系列的 JavaSSM(Spring + SpringMVC + MyBatis)项目。这些项目旨在展示SSM框架在实际应用中的魅力,同时也为开发者提供了一个快速学习和实践的机会。通过下载和使用这些项目,您将能够深入了解SSM框架的核心概念、设计模式和最佳实践。 二、项目特点 实战性强:这些项目均来自实际业务场景多个领域,具有很强的实战性和参考价值。 技术先进:所有项目均采用最新的SSM框架版本,包括Spring 、SpringMVC 和MyBatis 等,确保技术的先进性和稳定性。 代码规范:项目代码严格按照行业标准和最佳实践进行编写,易于阅读和维护。 文档齐全:每个项目都配备了详细的开发文档和使用说明,方便您快速上手和定制开发。 三、适用人群 Java初学者:通过学习和实践这些项目,您将能够快速掌握SSM框架的基础知识和核心技术。 中高级开发者:这些项目将为您提供丰富的实战经验和灵感,帮助您提升技术水平和解决问题的能力。 项目经理和架构师:这些项目可以作为参考和模板,帮助您更好地规划和设计实际业务场景中的Java项目。 四、下载与使用 下载:所有项目均提供下载,您只需在平台上注册并登录即可获取。 安装与部署:每个项目都提供了详细的安装和部署指南,帮助您快速搭建和运行项目。 定制开发:您可以根据实际需求对项目进行定制开发,扩展功能和优化性能。 五、结语 通过这一系列SSM Java项目的下载和学习,您将能够深入了解SSM框架的核心技术,提升自己的编程能力,并在实际业务场景中灵活应用。我们期待您能够通过这些项目获得更多的成长和进步!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值