本次的作业内容:
要求体验商城的商品搜索、购物车中商品的加入和删除操作以及下单等功能。在观察各大网络商城的购物车之后,根据其特点自制一个购物车小程序。
目标:
驼峰命名法
不使用拼音和英文组合
方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格
包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。
包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。
在上述的故事中,用红色字代表可能的对象(名词)或属性,用蓝色字代表可能的方法(动词)。
这样,通过讲故事的方法,我们就可以思路清晰的找出一个程序所需要的类和其中的方法。
该包中有一个Main类,用来进行用户与程序的人机交互。
该包主要有商城中商品的信息和购物车的增、删、改、查等一系列操作的核心方法。
可视化界面,方便用户操作。
按类进行分包方便后续查找修补,有逻辑性,而且不用在main中频繁的导入类。只需要把Main类导入其他包中的类就可以了。
商品属性
public class Mall { private static int goodsNumber = 10; private static int[] goodsId = new int[100]; private static String[] goodsName = new String[100]; private static double[] goodsPrice = new double[100]; public static int getGoodsNumber() { return goodsNumber; } public static void setGoodsNumber(int goodsNumber) { Mall.goodsNumber = goodsNumber; } public static int[] getGoodsId() { return goodsId; } public static void setGoodsId(int[] goodsId) { Mall.goodsId = goodsId; } public static String[] getGoodsName() { return goodsName; } public static void setGoodsName(String[] goodsName) { Mall.goodsName = goodsName; } public static double[] getGoodsPrice() { return goodsPrice; } public static void setGoodsPrice(double[] goodsPrice) { Mall.goodsPrice = goodsPrice; } }
功能操作
public class ShoppingCart { private static int[] payNumber = new int[100]; public static int[] getPayNumber() { return payNumber; } public static void setPayNumber(int[] payNumber) { ShoppingCart.payNumber = payNumber; } public static int addGoods(int goodsId, int goodsAddNumber) {// 增加购物车商品 for (int i = 0; i < Mall.getGoodsNumber(); i++) { if (i == goodsId) { payNumber[i] += goodsAddNumber; return 1; } } return 0; } public static int subGoods(int goodsId, int goodsSubNumber) {// 减少购物车商品 for (int i = 0; i < Mall.getGoodsNumber(); i++) { if (i == goodsId) { payNumber[i] = payNumber[i] - goodsSubNumber; if (payNumber[i] < 0) payNumber[i] = 0; return 1; } } return 0; } public static void cleanGoods() {// 清空 for (int i = 0; i < Mall.getGoodsNumber(); i++) { payNumber[i] = 0; } } public static void showCart() {// 显示购物车中的商品 } }