java--类、对象和方法

在这里插入图片描述

一个榨汁机的例子:
实现客户购买的各种需求:
1.一杯某某果汁
2.几杯某某果汁
3.几杯某某果汁+几杯某某果汁+…+几杯某某果汁 的组合

四个类:
(1)Order类

package FruitJuiceShop;
/**
 * 订单类
 * @author MacBook
 *
 */
public class Order {
	//顾客的订单一般是两个属性
	public int num;//杯数
	public String fruit;//水果类型
	
}

(2)Juicer类

package FruitJuiceShop;
/**
 * 榨汁机类
 * @author MacBook
 *
 */
public class Juicer {
	
	/**
	 * 榨汁机的方法
	 * 榨水果,传入一个水果,返回一杯果汁
	 * @param fruit
	 * @return
	 */
	public String juicer(String fruit) {
		return "一杯"+fruit+"汁";
	}
	
	/**
	 * 方法的重载
	 * 榨汁机二:直接传订单(数量+水果类型),返回几杯水果汁。
	 * 根据需要传入不同的参数,就调用不同的方法。
	 * 
	 * @param order
	 * @return
	 */
	public String juicer(Order order) {
		if(order.num==1) {
			return juicer(order.fruit);
		}else {
			return order.num+"杯"+order.fruit+"汁";
		}
	}
	
	/**
	 * 现在顾客想买几种类型的果汁 ,比如我想买一杯苹果汁,2杯梨汁
	 * 利用数组来将他们放在一起
	 * @param orders
	 * @return
	 */
	public String[] juicer(Order[] orders) {
		String[] demand = new String[orders.length];
		for(int i=0,len=orders.length;i<len;i++) {
			demand[i]=juicer(orders[i]);
			
		}
		
		return demand;
	}
	
	
	/**
	 * 将传入的几个订单 
	 * @param orders
	 * @return
	 */
	public String OtherJuicer(Order[] orders) {
		String demand= "";
		for(int i=0,len=orders.length;i<len;i++) {
			demand+=juicer(orders[i]);
		}
		return demand;
	}
}

(3)Menu类

package FruitJuiceShop;

import java.util.Scanner;

/**
 * 果汁店的菜单类
 * @author MacBook
 *
 */
public class Menu {
	public void menu() {
		System.out.println("欢迎光临!");
		
		//实例化对象
		Scanner sc = new Scanner(System.in);
		Juicer ju =new Juicer();
		Order o = new Order();
		
		do {
			//提示输入这次点单的次数,是为了确定数组的长度
			System.out.println("请输入点单的次数:");
			int num = sc.nextInt();
			
			//定义数组,new开辟的是数组的空间,数组的默认元素的类型Null
			//orders[i]=null,这是一个null对象,没有进行实例化的操作
			Order[] orders = new Order[num];
			
			for(int i=0,len=orders.length;i<len;i++) {
				orders[i]=new Order();//一个对象想要赋值必须要经过new 类名();
				//提示输入
				System.out.println("请选择要购买的果汁:");
				orders[i].fruit=sc.next();
				
				System.out.println("请输入杯数:");
				orders[i].num=sc.nextInt();
				
				
			}
			
			//调用方法
			String demand=ju.OtherJuicer(orders);
			System.out.println("请拿好:\n"+demand);
			System.out.println("是否继续选择:");
			String str=sc.next();
			if("n".equals(str)) {
				System.out.println("欢迎下次光临哦~!");
				break;
			}
			
		}while(true);
		
		
	}

}

(4)Test类

package FruitJuiceShop;
/**
 * 测试类
 * @author MacBook
 *
 */
public class Test {

	public static void main(String[] args) {
		Menu sales = new Menu();
		sales.menu();

	}

}

猜你喜欢

转载自blog.csdn.net/qq_43287650/article/details/83625228