一、任务描述:
购物时,如果购物者需要购买的商品在超市里有,则提示购物者买到了某商品
如果没有所需的商品,则提示白跑了一趟
二、运行结果:
三、实现思路
1.包含了超市,商品,购物者三个对象
2.定义商品类,有自己的名称属性
3.定义超市类,有名称、
仓库,仓库里会有很多商品,因此用数组;
卖货的方法
4.购物者是人,需要定义一个Person对象,有名称属性,购物的方法
5.编写测试类,在main方法中,需要创建商品对象,超市对象,人, 并使用对象中的方法来实现购物程序
四、实现代码:
/**
*@Title Product.java
*@time 2019年5月28日 下午9:57:28
*@author wangyue
*@version 1.0
*@description
*商品类:
*商品名称
*/
package cn.ch03.task01;
public class Product {
private String proName; // 商品名字 一般成员变量是private
public String getProName() {
return proName;
}
public void setProName(String proName) {
this.proName = proName; // this表示成员变量
}
}
/**
*@Title Market.java
*@time 2019年5月28日 下午10:03:18
*@author wangyue
*@version 1.0
*@description
*超市类:
*超市名称
*仓库
*卖货的方法
*/
package cn.ch03.task01;
public class Market {
private String marketName; // 超市名称
private Product[] marketArr; // 仓库
public String getMarketName() {
return marketName;
}
public void setMarketName(String marketName) {
this.marketName = marketName;
}
public Product[] getMarketArr() {
return marketArr;
}
public void setMarketArr(Product[] marketArr) {
this.marketArr = marketArr;
}
//重要!!! 为什么是保护类型?
Product sellProduct(String name) { //超市卖货的方法 ,指定货物名
for(int i=0;i<marketArr.length;i++)
{
if(marketArr[i].getProName()==name){
return marketArr[i]; //将该商品返回!
}
}
return null;
}
}
/**
*@Title Person.java
*@time 2019年5月28日 下午10:14:21
*@author wangyue
*@version 1.0
*@description TODO
*购物者类:
*人名
*购物方法
*/
package cn.ch03.task01;
public class Person {
private String personName; //人名
public String getPersonName() {
return personName;
}
public void setPersonName(String personName) {
this.personName=personName;
}
//为什么是保护类型???
Product shopping(Market market,String name) { //购物方法 指定超市和货物
return market.sellProduct(name);
}
}
/**
*@Title Shopping.java
*@time 2019年5月28日 下午10:19:11
*@author wangyue
*@version 1.0
*@description
*购物主函数
*/
package cn.ch03.task01;
public class Shopping {
public static void main(String[] args) {
// 创建商品对象,初始化
Product p1 = new Product();
Product p2 = new Product();
Product p3 = new Product();
p1.setProName("西瓜");
p2.setProName("油桃");
p3.setProName("香蕉");
// 创建超市对象
Market market = new Market();
market.setMarketName("大润发");
market.setMarketArr(new Product[] { p1, p2, p3 }); // 创建的同时 实例化
// 创建人
Person person = new Person();
person.setPersonName("苏大强");
//调用购物方法
Product res = person.shopping(market,"哈哈");
if (res != null) {
System.out.println(person.getPersonName() + " 在 "+ market.getMarketName() + " 买到了 " + p1.getProName());
} else {
System.out.println(person.getPersonName() + " 在 " + market.getMarketName() + " 什么也没买到");
}
}
}