【Java】代码练习(二)

/*超市购物程序设计:
分析对象: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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值