Java购物车大作业
任务 | 姓名 |
---|---|
前期调查 、博客制作 | 吴慧敏 |
面向对象设计、功能设计 | 骆念念 |
提供搜索引擎目前有点还没解决。索性我们就只创建一些商品对象,只有这些商品可供用户选择。
系统打印展示出所有可选择的商品信息(商品名、单价、商品编号、商品类型)以及菜单界面(各种功能的选择),然后根据现有的商品的ID,可以将对应ID的商品加入到我的购物车里,也可以删除(减少)商品。可以显示购物车里的商品信息,即查看购物车,能清空购物车里的所有商品;能结算购物车里的所有商品,也能结算我所选择的部分商品,并且在结算完后清除相应的信息,算出最终的要支付的价格。
设计原因:这样设计包结构,可以方便后期功能增添与修改,能让我们的项目更好管理,让程序具有更高的可读性。
// 寻找商品
public int FinditemId(Integer id) {
for (int i = 0; i < itemList.size(); i++) {
if (itemList.get(i).getItem().getId().equals(id))
return i;
}
return -1;
}
// 添加商品
public void add(Commodity item) {
if (item == null)
return;
int index = FinditemId(item.getId());
if (index == -1) {
itemList.add(new ItemEntry(item));
}
else {
itemList.get(index).increase();
}
}
// 删除商品
public boolean remove(Integer id) {
if (itemList.size() == 0) {
System.out.println("购物车为空哦!");
return false;
}
if (id == null)
return false;
int index = FinditemId(id);
if (index == -1)// 没有找到
return false;
else {
if (itemList.get(index).getQuantity() <= 1)
itemList.remove(index);
else {
itemList.get(index).decrease();
}
}
return true;
}
//生成订单
public void Generateorder() {
System.out.println("请输入你要结算的订单数");
Scanner sc=new Scanner(System.in);
int number=sc.nextInt();
double sum=0;
int[] entry=new int[number];
System.out.println("您要结算的订单为:");
for(int i=0;i=itemList.size()) {
System.out.println("你要结算的订单不在购物车哦!");
return;
}
else {
System.out.println(itemList.get(entry[j]));
sum+=itemList.get(entry[j]).SumPrice;
}
}
System.out.println("您需要支付"+sum);
for (int i = 0; i < number; i++) {
//System.out.println("1");
itemList.remove(entry[i]-i);
}
}