本文共 2263 字,大约阅读时间需要 7 分钟。
1任务描述
去超市购物是日常生活中的重要事情之一。在超市中有很多日常生活的用品,如果水果、蔬菜、洗衣机、电冰箱等。人们只能买到超市中已有物品,如果超市中没有或者已经卖完了,那么只能是白跑一趟了。 本任务要求,使用所学知识编写一个超市购物程序,实现超市购物功能。购物时,如果购物者所要购买的商品在超市中有,则提示购物者买到了商品;如果超市中没有购物者所需的商品,则提示购物者白跑了一趟,在超市中什么都没有买到。2、任务目标
学会分析“购物超市”程序任务实现的逻辑思路。 能够独立完成“超市购物”程序的源代码编写、编译运行。 理解类和对象的概念以及两者的创建和使用。 理解并掌握类的封装。3、实现思路
(1)通过任务的描述可知,此程序中包含了超市、商品和购物者三个对象。那么可以先定义商品对象,商品对象需要有自己名称和属性。 (2)由于所有的商品是在超市中卖的,所以还需要定义一个超市对象。每个超市都会有自己的名称和用于存放商品的厂库。由于厂库中会有很多商品,所以这里的厂库可以用数组表示。超市的1主要功能是卖商品,还要有个卖货的方法。 (3)由于购物者是人,所以还需要定义一个Person对象,该对象需要有名称属性,还有一个购物的方法。 (4)最后编写测试类,其中main方法中,需要创建商品对象,超市1对象以及人,并使用这些对象中定义的方法1实现购物程序。//定义商品类Productpublic class Product { private String proName; public String getProName() { return proName; } public void setProName(String proName) { this.proName = proName; }}//定义超市类Marketpublic class Markert { private String marketName; private Product[] productArr; public String getMarketName() { return marketName; } public void setMarketName(String marketName) { this.marketName = marketName; } public Product[] getProductArr() { return productArr; } public Product[] getProductArr() { this.productArr = productArr; } Product sell(String name) { for (int i = 0; i < productArr.length; i++) { if(productArr[i].getProName() == name) { return productArr[i]; } } return null; } }//定义购物者Personpublic class Person { private String name; public String getName; public String getName() { this.name = name; } Product shopping(Market market,String name) { return market.sell(name); }}//定义测试类public class Shopping { public static void main (String[] args) { Product p1 = new Product(); Product p2 = new Product(); Product p3 = new Product(); Product p4 = new Product(); Product p5 = new Product(); p1.setProName("电视机"); p2.setProName("电视机"); p3.setProName("电视机"); p4.setProName("电视机"); p5.setProName("电视机"); Market m = new Market(); m.setMArketName("家乐福"); m.setProductArr(new Product[] { p1,p2,p3,p4,p5}); Person p = new Person(); p.setName("小韩"); Product return = p.shopping (m,"豆浆机"); if(return != null) { System.out.println(p.getName()+"买到了" +return.getProName()); }else{ System.out.println(p.getName() + "白跑了一趟,在" +m.getMarketName() +"什么都没买到"); } }}
运行结果
转载地址:http://hktgn.baihongyu.com/