/*超市购物程序设计:
分析对象:1、超市 2、购物者 3、商品
购物过程:1、欢迎来到某某超市 2、列举超市的商品 3、选择商品 4、买到了;没买到 5、欢迎下次光临
*/
//创建超市类
class Supermarket{
//声明超市名
private String supermarketName;
//提供supermarketName的set和get方法
public void setSupermarketName(String supermarketName){
this.supermarketName=supermarketName;
}
public String getSupermarketName(){
return supermarketName;
}
//创建超市的仓库,里面有若干商品
private Product[] productArr;
//提供productArr的set和get方法
public void setProductArr(Product[] productArr){
this.productArr=productArr;
}
public Product[] getProductArr(){
return productArr;
}
//循环遍历仓库中的每一个商品
public Product sell(String productName){
for(int i=0;i<productArr.length;i++){
//如果商品名称和所选商品名称一致,则将该商品返回
if(productArr[i].getProductName()==productName)
return productArr[i];//返回该商品的地址
}
//循环结束后若没找到商品,返回值null代表没买到
return null;
}
//循环遍历仓库中的每一个商品,并输出商品名
public void print(){
for(int i=0;i<productArr.length;i++){
System.out.println((i+1)+"、"+productArr[i].getProductName());
}
}
}
//创建购物者类
class Person{
//人名
private String personName;
//提供personName的set和get方法
public void setPersonName(String personName){
this.personName=personName;
}
public String getPersonName(){
return personName;
}
//购物,指定去哪个超市,指定商品名
Product shopping(Supermarket supermarket,String productName){
//调用超市的sell方法,指定商品名,把判断后的结果返回
return supermarket.sell(productName);
}
}
//创建商品类
class Product{
//声明商品名称
private String productName;
//提供productName的set和get方法
public void setProductName(String productName){
this.productName=productName;
}
public String getProductName(){
return productName;
}
}
//创建超市购物过程
class SupermarketShopping{
//创建购物前的方法,指定超市和人
public SupermarketShopping(Supermarket market,Person person,String productName){
System.out.println("欢迎来到"+market.getSupermarketName()+"超市-----------");
System.out.println(person.getPersonName()+"您好,我们的商品有:");
market.print();
System.out.println("请选择您所要的商品");
Product result=person.shopping(market,productName);
if(result!=null){
System.out.println(person.getPersonName()+",您在"+market.getSupermarketName()+"超市买到了"+result.getProductName());
}else{
System.out.println(person.getPersonName()+",您在"+market.getSupermarketName()+"超市什么都没买到");
}
System.out.println("欢迎下次光临"+market.getSupermarketName()+"超市----------");
System.out.println();
}
}
class testSupermarket_02{
public static void main(String[] args){
//创建人对象,给名字赋值
Person p1=new Person();
Person p2=new Person();
Person p3=new Person();
Person p4=new Person();
p1.setPersonName("张三");
p2.setPersonName("李四");
p3.setPersonName("王五");
p4.setPersonName("赵六");
//创建商品对象,给商品赋值
Product a1=new Product();
Product a2=new Product();
Product a3=new Product();
Product a4=new Product();
Product a5=new Product();
Product a6=new Product();
a1.setProductName("茶");
a2.setProductName("薯片");
a3.setProductName("面包");
a4.setProductName("可乐");
a5.setProductName("雪糕");
a6.setProductName("方便面 ");
//创建超市对象
Supermarket s1=new Supermarket();
Supermarket s2=new Supermarket();
Supermarket s3=new Supermarket();
Supermarket s4=new Supermarket();
//给超市名字赋值,并给仓库赋值
s1.setSupermarketName("百货");
s1.setProductArr(new Product[]{a1,a2,a3,a4,a5,a6});
/*
Monkey m=new Monkey();
Monkey m[]=new Monkey[10]
Monkey m1=new Monkey("笑话",'男')
Monkey m2=new Monkey("小话",'男')
Monkey m3=new Monkey("小白",'男')
Monkey m[]=new Monkey[]{m1,m2,m3}
Monkey m[]={m1,m2,m3}*/
s2.setSupermarketName("家乐福");
s2.setProductArr(new Product[]{a1,a4,a5,a6});
s3.setSupermarketName("沃尔玛");
s3.setProductArr(new Product[]{a1,a2,a3,a4});
s4.setSupermarketName("永辉");
s4.setProductArr(new Product[]{a2,a3,a4,a5,a6});
//创建并调用购物方法,指定超市名、人名和超市商品名,得到购物结果
SupermarketShopping shopping1=new SupermarketShopping(s3,p3,"方便面 ");
SupermarketShopping shopping2=new SupermarketShopping(s1,p1,"薯片");
}
}
/*编译结果:
欢迎来到沃尔玛超市-----------
王五您好,我们的商品有:
1、茶
2、薯片
3、面包
4、可乐
请选择您所要的商品
王五,您在沃尔玛超市什么都没买到
欢迎下次光临沃尔玛超市----------
欢迎来到百货超市-----------
张三您好,我们的商品有:
1、茶
2、薯片
3、面包
4、可乐
5、雪糕
6、方便面
请选择您所要的商品
张三,您在百货超市买到了薯片
欢迎下次光临百货超市----------
*/
class Dog{
String name;
public void say(){
System.out.println("我是一只狗,主人叫我花花");
}
class ChildDog{
void t