java基础练习2

编写一个超市购物程序,实现超市购物功能。
超市、商品、仓库、购物者等之间存在的联系,在编程时可以按照符合人类思维习惯的编程思想来实现
类分析:
·超市类:包含超市名称、仓库以及商品销售活动在这里插入图片描述

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,"卫龙辣条");
    }
}

版权声明:本文为liang22471原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。