任务 | 姓名 |
---|---|
前期调查与功能设计、完成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;
}
}
}