编写一个超市购物程序,实现超市购物功能。
超市、商品、仓库、购物者等之间存在的联系,在编程时可以按照符合人类思维习惯的编程思想来实现
类分析:
·超市类:包含超市名称、仓库以及商品销售活动
package Girl.bilibili;
public class Market {
//超市名称
private String marketName;
//超市仓库
private Product[] productArr;
public Market(String marketName, Product[] productArr) {
this.marketName = marketName;
this.productArr = productArr;
}
//用于其他类得到本类的超市名称
public String getMarketName() {
return marketName;
}
//用于其他类修改本类的超市名称
public void setMarketName(String marketName) {
this.marketName = marketName;
}
//用于其他类得到本类的超市仓库货物
public Product[] getProductArr() {
return productArr;
}
//用于其他类修改本类的超市仓库货物
public void setProductArr(Product[] productArr) {
this.productArr = productArr;
}
//按照指定商品卖货
public Product sell(String name) {
for (int i = 0; i < productArr.length; i++) {
if (productArr[i] != null && name.equals(productArr[i].getProName())) {
return productArr[i];
}
}
return null;
}
}
·
商品类:包含商品名称
package Girl.bilibili;
public class Product {
private String proName;
public Product(String proName) {
this.proName = proName;
}
public String getProName() {
return proName;
}
public void setProName(String proName) {
this.proName = proName;
}
}
·购物者类:包含姓名及购物活动
package Girl.bilibili;
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Product shopping(Market market,String name) {
//返回一个Product对象
//需要从仓库中删除他
//仓库中有可能没有回返回null应该考虑到防止空指针异常
if (market.sell(name) == null) {
System.out.println("未找到该物品");
return null;
} else {
//此处可以用下面方法来进行仓库里面东西删除
// Product a = market.sell(name);
Product a = market.sell(name);
System.out.println(a.getProName());
return market.sell(name);
}
}
}
·测试类:在其main方法中,需要创建商品对象、超市对象以及人, 并使用这些对象中定义的方法实现购物程序。
package Girl.bilibili;
public class Main {
public static void main(String[] args) {
//创建物品数组,为之后创建对象使用
Product[] products = new Product[]{
new Product("卫龙辣条"),
new Product("小浣熊干脆面"),
new Product("彩虹糖")
};
//创建超市
Market market = new Market("didi",products);
Person person = new Person("月月");
person.shopping(market,"卫龙辣条");
}
}
转载:https://blog.csdn.net/liang22471/article/details/115383929
查看评论