成员 | 分配任务 |
叶晓威 | 商品类,代码编写 |
林新荣 | 购物车类,代码编写 |
一.选题和前期调查
选题为购物车系统
前期调查:
系统功能:我准备(初步)实现能够完成商品的添加,删除,查看和结算的购物车。
系统所实现的功能:
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
下次优化内容;命名完全规范化,数据合理性处理,登陆系统及界面,客户端以及管理员端的设计,商品以及购物车信息存储位置转变为文件.......