第1次任务-面向对象设计(购物车)

成员分配任务
叶晓威商品类,代码编写
林新荣购物车类,代码编写

一.选题和前期调查

选题为购物车系统

前期调查:

 系统功能:我准备(初步)实现能够完成商品的添加,删除,查看和结算的购物车。

系统所实现的功能:

1.添加商品金购物车

case "add":
				// 添加商品到购物车
				System.out.println("请输入想要添加的商品名称");
				String addname=sc.next();
				int flag=0;
				int i=0;
				int j=0;
				for( i=0;i<8;i++) {
				if(good[i].getname().equals(addname)){
					flag=1;
					break;
				}
				}
				if(flag==0) {
					System.out.println("添加失败;没有该商品");
					break;
				}
				else {
					System.out.println("请输入想要添加该商品的数量");
					int addamount=sc.nextInt();
					
					g.name=addname;
					g.amount=addamount;		
					g.price=good[i].getprice();
					for(j=0;j<shopcar.length;j++)
					{
						if(shopcar[j]==null) 
						{
							good[i].amount=good[i].amount-addamount;
							shopcar[j]=g;
							//shopcar[j].name=addname;
							//shopcar[j].amount=addamount;
							System.out.println("已成功添加!");
							break;
						}
					}
				}
				
				break;

2.展示购物车信息

case "query":
				if(shopcar[0]==null)
				{
					System.out.println("您的购物车空空如也");
					break;
				}
				
				for( i=0;i<shopcar.length;i++)
				{
					if(shopcar[i]!=null)
					{
					shopcar[i].toString();
					}					
				}
			
				break;

3.修改商品在购物车的数量

case "update":
				// 修改商品在购物车的数量
				System.out.println("请输入想要修改的商品的名称");
				int flag1=0;
				int flag2=0;
				String changeName=sc.next();
				
				
				int k=0;
				int m=0;
				for( k=0;k<shopcar.length;k++) 
				{
					
						if(shopcar[k]!=null)
						{
						shopcar[k].toString();
						}					
					
					if(shopcar[k].getName().equals(changeName))
					{
						flag1=1;
						break;
					}
				}
					if(flag1==0)
					{
						System.out.println("查找失败;没有该商品");
						break;
					}
					else 
					{
						for(m=0;m<good.length;m++)
						{
							if(good[m].getname().equals(changeName))
							{
								flag2=0;
								break;
							}
						}
						System.out.println("请输入修改后该商品的数量");/*未对数量进行限制*/
						int changeAmount=sc.nextInt();
						good[m].amount=good[m].amount+shopcar[k].amount-changeAmount;
						shopcar[k].amount=changeAmount;
						
						System.out.println("修改成功!");
			        }
		        
			break;

4.清空购物车

case"pay":
				double sum=0;
				for( i=0;i<shopcar.length;i++)
			{
				if(shopcar[i]!=null)
				{
				shopcar[i].toString();
				sum+=shopcar[i].sum();
				}					
			}
			System.out.println("购物车内当前商品总值为"+sum+"您确认支付?(按1确认支付,按其他键取消支付");
			int key=sc.nextInt();
			if(key==1)
			{
				Shopcar[] newshopcar=new Shopcar[8];
				for(i=0;i<shopcar.length;i++)
				{
					shopcar[i]=newshopcar[i];
				}
			
				System.out.println("支付成功!交易达成!");
				
			}
			else
			{
				System.out.println("取消支付成功!再看看吧");
			}
				
			
			break;
			
				
		
			}
		}
	
}
}


调试结果

展示商品信息:

添加:

展示购物车:

 修改购买数:

购买商品:

商品:

class Good {
	String name;
	 int amount;
	private double price;
	private double value;
	public Good() {
		
	}

	public String getname() {
		return name;
	}

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

	public int getamount() {
		return amount;
	}

	public void setamount(int amount) {
		this.amount = amount;
	}

	public double getprice() {
		return price;
	}

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

	public double getvalue() {
		return value;
	}

	public void setvalue(double value) {
		this.value = value;
	}

	public Good(String name, int amount, double price) {
		this.name=name;
		this.amount=amount;
		this.price=price;
	}
public String toString() {
			System.out.println("商品名:"+this.name+", 数量:"+this.amount+", 单价:"+this.price);
			return name;
		}
	
}

购物车:

 class Shopcar
{
	public String name;
	public int amount;
	public double price;
	 public Shopcar() {
			
		}
	 
	 public double sum()
	 {
		 return amount*price;
	 }
	 
	public Shopcar(String name, int amount) {
		this.name=name;
		this.amount=amount;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAmount() {
		return amount;
	}
	public void setAmount(int amount) {
		
		this.amount = amount;
	}
	public String toString() {
		System.out.println("商品名:"+this.name+", 数量:"+this.amount+", 单价:"+this.price);
		return name;
	}
	
}

选择界面:

 

数据直接储存在内存中(优化后将存在文件中)

界面为控制台

开发工具为Eclipse

下次优化内容;命名完全规范化,数据合理性处理,登陆系统及界面,客户端以及管理员端的设计,商品以及购物车信息存储位置转变为文件.......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值