2021-10-07

任务姓名
前期调查与功能设计、完成Main类及ShoppingCart类中部分代码、UML图、系统描述邓国筱
前期调查与功能设计、完成Display类和ShoppingCart类中部分代码、系统功能展示、系统功能结构图张嘉骥

1.前期调查在这里插入图片描述购物车中商品包含的属性有 名字 价格固定,数量可以修改

2.系统功能结构图
在这里插入图片描述
3.系统描述
在这里插入图片描述

4.UML类图
在这里插入图片描述

5.购物车功能

在这里插入图片描述
查看商品添加商品进购物车
在这里插入图片描述
在这里插入图片描述

public static void showList(String[] args) {
		System.out.println("商品编号              商品名               商品价格");
		for(int i=0;i<10;i++)
		{
			System.out.println(i+"     |     "+ShoppingCart.nameOfCommodities[i]+"     |     "+ShoppingCart.priceOfCommodities[i]);
		}
	}

添加商品的数量
在这里插入图片描述

{
							System.out.print("请输入您要添加的数量:");
							int cho1211=in.nextInt();
							ShoppingCart.yourShoppingCart[cho121]=cho1211;
							System.out.println("添加成功!");
						}
						else
						{
							System.out.println("您的输入有误!");
						}

查看购物车
在这里插入图片描述

public static void showYourShoppingCart(String[] args) 
	{
		System.out.println("商品编号              商品名               商品价格            个数");
		for(int i=0;i<10;i++)
		{
			if(ShoppingCart.yourShoppingCart[i]!=0)
			{
				System.out.println(i+"     |     "+ShoppingCart.nameOfCommodities[i]+"     |     "+ShoppingCart.priceOfCommodities[i]+"     |     "+ShoppingCart.yourShoppingCart[i]);
			}
		

清空购物车
在这里插入图片描述

public static void EmptyShoppingCart() {
		for(int i=0;i<10;i++)
		{
			yourShoppingCart[i]=0;
		}

结算商品
在这里插入图片描述

case 5:
				System.out.print("输入您要结算的商品编号或名称,编号请输入1/名称请输入2:");
				int cho1=in.nextInt();
				switch(cho1) {
				case 1:
					System.out.print("输入您要结算的商品编号:");
					int id2=in.nextInt();	
					if(id2>=0&&id2<=9)
					{
						if(ShoppingCart.yourShoppingCart[id2]!=0)
						{
							System.out.print("您要结算的商品编号:");
							ShoppingCart.FindTheIDOfCommodity(id2);
							System.out.println("您购买的数量为"+ShoppingCart.yourShoppingCart[id2]+"故您所需要支付的总价为"+(ShoppingCart.yourShoppingCart[id2]*ShoppingCart.priceOfCommodities[id2]));
							System.out.print("您确定要支付吗?确定请输入1/否定请输入2:");
							int cho11=in.nextInt();

6.项目包结构与代码
(1)shopping包
Main类

package shopping;

import java.util.Scanner;

import functiondisplay.Display;
import shoppingcart.ShoppingCart;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		ShoppingCart.list();
		
		Display.begin(args);
		int Choose = in.nextInt();
		//System.out.println(Choose);
		while(Choose!=7)
		{
			switch (Choose) {
			case 1:
				Display.showYourShoppingCart(args);
				break;
			case 2:
				ShoppingCart.EmptyShoppingCart();
				break;
			case 3:
				System.out.print("输入您要查询的商品名称:");
				String name1= in.nextLine();
				int theID1=ShoppingCart.FindTheNameOfCommodity(name1);
				if(theID1>=0&&theID1<=9)
				{
					Display.showTheCommodities(theID1);
				}
				else
				{
					System.out.println("未能找到您说要找的商品,请确认您的输入是否正确!");
				}
				break;
			case 4:
				System.out.print("输入您要查询的商品编号:");
				int id1=in.nextInt();
				int theID2=ShoppingCart.FindTheIDOfCommodity(id1);
				
				if(theID2>=0&&theID2<=9)
				{
					Display.showTheCommodities(theID2);
				}
				else
				{
					System.out.println("未能找到您说要找的商品,请确认您的输入是否正确!");
				}
				break;
			case 5:
				System.out.print("输入您要结算的商品编号或名称,编号请输入1/名称请输入2:");
				int cho1=in.nextInt();
				switch(cho1) {
				case 1:
					System.out.print("输入您要结算的商品编号:");
					int id2=in.nextInt();	
					if(id2>=0&&id2<=9)
					{
						if(ShoppingCart.yourShoppingCart[id2]!=0)
						{
							System.out.print("您要结算的商品编号:");
							ShoppingCart.FindTheIDOfCommodity(id2);
							System.out.println("您购买的数量为"+ShoppingCart.yourShoppingCart[id2]+"故您所需要支付的总价为"+(ShoppingCart.yourShoppingCart[id2]*ShoppingCart.priceOfCommodities[id2]));
							System.out.print("您确定要支付吗?确定请输入1/否定请输入2:");
							int cho11=in.nextInt();
							switch(cho11) {
							case 1:
								ShoppingCart.yourShoppingCart[id2]=0;
								System.out.println("购买成功!");
								break;
							case 2:
								System.out.println("购买失败!");
								break;
							default:
								System.out.println("只能输入1或2,请确认您的输入是否正确!");
							break;
							}
						}
					}
					else
					{
						System.out.println("请确定您所输入的商品编号是否正确!");
					}
					break;
				case 2:
					System.out.print("输入您要结算的商品名称:");
					String name2= in.nextLine();
					int id3=-1;
					if(ShoppingCart.FindTheNameOfCommodity(name2)>0)
					{
						id3=ShoppingCart.FindTheNameOfCommodity(name2);
						System.out.println("您购买的数量为"+ShoppingCart.yourShoppingCart[id3]+"故您所需要支付的总价为"+(ShoppingCart.yourShoppingCart[id3]*ShoppingCart.priceOfCommodities[id3]));
						System.out.print("您确定要支付吗?确定请输入1/否定请输入2:");
						int cho11=in.nextInt();
						switch(cho11) {
						case 1:
							ShoppingCart.yourShoppingCart[id3]=0;
							System.out.println("购买成功!");
							break;
						case 2:
							System.out.println("购买失败!");
							break;
						default:
							System.out.println("只能输入1或2,请确认您的输入是否正确!");
						break;
						}
					}
					else
					{
						System.out.println("请确定您所输入的商品名称是否正确!");
					}
					
					break;
				default:
					System.out.println("只能输入1或2,请确认您的输入是否正确!");
					break;
				}
				
				break;
			case 6:
				Display.showList(args);
				System.out.print("您需要将某商品加入购物车吗?需要请输入1/否则请输入2:");
				int cho11=in.nextInt();
				switch(cho11) {
				case 1:
					System.out.print("输入您要加入的商品编号或名称,编号请输入1/名称请输入2:");
					int cho12=in.nextInt();
					switch(cho12) {
					case 1:
						System.out.print("您要加入的商品编号:");
						int cho121=in.nextInt();
						if(cho121>=0&&cho121<=9)
						{
							System.out.print("请输入您要添加的数量:");
							int cho1211=in.nextInt();
							ShoppingCart.yourShoppingCart[cho121]=cho1211;
							System.out.println("添加成功!");
						}
						else
						{
							System.out.println("您的输入有误!");
						}
						break;
					case 2:
						System.out.print("您要加入的商品名称:");
						String cho122=in.nextLine();
						int cho1221=ShoppingCart.FindTheNameOfCommodity(cho122);
						if(cho1221>=0&&cho1221<=9)
						{
							System.out.print("请输入您要添加的数量:");
							int cho1222=in.nextInt();
							ShoppingCart.yourShoppingCart[cho1221]=cho1222;
							System.out.println("添加成功!");
						}
						else
						{
							System.out.println("您的输入有误!");
						}
						break;
					default:
						System.out.println("只能输入1或2,请确认您的输入是否正确!");
					}
					break;
				case 2:
					System.out.println("加入失败!");
					break;
				default:
					System.out.println("只能输入1或2,请确认您的输入是否正确!");
				break;
				}
				break;
			case 7:
				return;
			default:
				System.out.println("请确定您的输入是否正确!");
				break;
					
		}
			Display.begin(args);
			Choose = in.nextInt();

	}

	}
}

(2)functiondisplay包
Display类

package functiondisplay;

import shoppingcart.ShoppingCart;

public class Display {

	public static void begin(String[] args) {
		System.out.println("请选择你所需要实现的功能:");
		System.out.println("(1)查看购物车");
		System.out.println("(2)清空购物车");
		System.out.println("(3)查询商品名(Name)");
		System.out.println("(4)查询商品编号(ID)");
		System.out.println("(5)结算部分商品");
		System.out.println("(6)查看所有商品并可选择部分商品将其加入购物车");
		System.out.println("(7)结束");
		System.out.print("请输入选项:");
	}
	public static void end(String[] args) {
		System.out.println("===================================");
		System.out.println("============谢谢使用,再见!===========");
		System.out.println("===================================");
	}
	public static void showList(String[] args) {
		System.out.println("商品编号              商品名               商品价格");
		for(int i=0;i<10;i++)
		{
			System.out.println(i+"     |     "+ShoppingCart.nameOfCommodities[i]+"     |     "+ShoppingCart.priceOfCommodities[i]);
		}
	}
	public static void showYourShoppingCart(String[] args) 
	{
		System.out.println("商品编号              商品名               商品价格            个数");
		for(int i=0;i<10;i++)
		{
			if(ShoppingCart.yourShoppingCart[i]!=0)
			{
				System.out.println(i+"     |     "+ShoppingCart.nameOfCommodities[i]+"     |     "+ShoppingCart.priceOfCommodities[i]+"     |     "+ShoppingCart.yourShoppingCart[i]);
			}
		}
	}
	public static void showTheCommodities(int id)
	{
		System.out.println("找到了该商品,商品编号、名称、价格依次如下:");
		System.out.println(id+"     |     "+ShoppingCart.nameOfCommodities[id]+"     |     "+ShoppingCart.priceOfCommodities[id]);
	}
}

(3)shoppingcart包
ShoppingCart类

package shoppingcart;

import java.util.Scanner;

public class ShoppingCart {
	public static int[] priceOfCommodities = new int[10];
	public static String[] nameOfCommodities = new String[10];
	public static int[] yourShoppingCart = new int[10];
	public static void list() {
		for (int i = 0; i < 10; i++) {
			yourShoppingCart[i]=0;
			switch (i) {
			case 0:
				nameOfCommodities[i] = "iphone13promax1T远峰蓝";
				priceOfCommodities[i] = 14988;
				break;
			case 1:
				nameOfCommodities[i] = "ipadmini6 256GWLAN版星光色";
				priceOfCommodities[i] = 5499;
				break;
			case 2:
				nameOfCommodities[i] = "applepencil2代";
				priceOfCommodities[i] = 968;
				break;
			case 3:
				nameOfCommodities[i] = "ipadair4 256GWLAN版天蓝色";
				priceOfCommodities[i] = 5999;
				break;
			case 4:
				nameOfCommodities[i] = "ipadpro11英寸 1TWLAN版银色";
				priceOfCommodities[i] = 11799;
				break;
			case 5:
				nameOfCommodities[i] = "ipadpro12.9英寸 1TWLAN版银色";
				priceOfCommodities[i] = 14099;
				break;
			case 6:
				nameOfCommodities[i] = "Macbookair 8-256G银色";
				priceOfCommodities[i] = 7999;
				break;
			case 7:
				nameOfCommodities[i] = "Macbookpro 16-512G银色";
				priceOfCommodities[i] = 12699;
				break;
			case 8:
				nameOfCommodities[i] = "Macmini 8-256G";
				priceOfCommodities[i] = 5299;
				break;
			case 9:
				nameOfCommodities[i] = "iMac 8-256G蓝色";
				priceOfCommodities[i] = 11499;
				break;
			}
		}
	}
	public static void EmptyShoppingCart() {
		for(int i=0;i<10;i++)
		{
			yourShoppingCart[i]=0;
		}
	}
	public static int FindTheNameOfCommodity(String name) {
		for(int i=0;i<10;i++)
		{
			if(name.equals(nameOfCommodities[i]))
			{
				//System.out.println("找到了该商品,商品编号、名称、价格依次如下:");
				//System.out.println(i+"     |     "+nameOfCommodities[i]+"     |     "+priceOfCommodities[i]);
				return i;
			}
		}
		//System.out.println("未能找到您说要找的商品,请确认您的输入是否正确!");
		return -1;
	}
	public static int FindTheIDOfCommodity(int id) {
		switch (id) {
		case 0:
			//System.out.println(id+"     |     "+nameOfCommodities[id]+"     |     "+priceOfCommodities[id]);
			return id;
		case 1:
			//System.out.println(id+"     |     "+nameOfCommodities[id]+"     |     "+priceOfCommodities[id]);
			return id;
		case 2:
			//System.out.println(id+"     |     "+nameOfCommodities[id]+"     |     "+priceOfCommodities[id]);
			return id;
		case 3:
			//System.out.println(id+"     |     "+nameOfCommodities[id]+"     |     "+priceOfCommodities[id]);
			return id;
		case 4:
			//System.out.println(id+"     |     "+nameOfCommodities[id]+"     |     "+priceOfCommodities[id]);
			return id;
		case 5:
			//System.out.println(id+"     |     "+nameOfCommodities[id]+"     |     "+priceOfCommodities[id]);
			return id;
		case 6:
			//System.out.println(id+"     |     "+nameOfCommodities[id]+"     |     "+priceOfCommodities[id]);
			return id;
		case 7:
			//System.out.println(id+"     |     "+nameOfCommodities[id]+"     |     "+priceOfCommodities[id]);
			return id;
		case 8:
			//System.out.println(id+"     |     "+nameOfCommodities[id]+"     |     "+priceOfCommodities[id]);
			return id;
		case 9:
			//System.out.println(id+"     |     "+nameOfCommodities[id]+"     |     "+priceOfCommodities[id]);
			return id;
		default:
			System.out.println("未能找到您说要找的商品,请确认您的输入是否正确!");
			return -1;
		}
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值