⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 waitress.java

📁 经典书籍《Head First 设计模式》的附书源码
💻 JAVA
字号:
package headfirst.iterator.dinermergercafe;import java.util.Iterator;  public class Waitress {	Menu pancakeHouseMenu;	Menu dinerMenu;	Menu cafeMenu; 	public Waitress(Menu pancakeHouseMenu, Menu dinerMenu, Menu cafeMenu) {		this.pancakeHouseMenu = pancakeHouseMenu;		this.dinerMenu = dinerMenu;		this.cafeMenu = cafeMenu;	} 	public void printMenu() {		Iterator pancakeIterator = pancakeHouseMenu.createIterator();		Iterator dinerIterator = dinerMenu.createIterator();		Iterator cafeIterator = cafeMenu.createIterator();		System.out.println("MENU\n----\nBREAKFAST");		printMenu(pancakeIterator);		System.out.println("\nLUNCH");		printMenu(dinerIterator);		System.out.println("\nDINNER");		printMenu(cafeIterator);	} 	private void printMenu(Iterator iterator) {		while (iterator.hasNext()) {			MenuItem menuItem = (MenuItem)iterator.next();			System.out.print(menuItem.getName() + ", ");			System.out.print(menuItem.getPrice() + " -- ");			System.out.println(menuItem.getDescription());		}	} 	public void printVegetarianMenu() {		System.out.println("\nVEGETARIAN MENU\n---------------");		printVegetarianMenu(pancakeHouseMenu.createIterator());		printVegetarianMenu(dinerMenu.createIterator());		printVegetarianMenu(cafeMenu.createIterator());	} 	public boolean isItemVegetarian(String name) {		Iterator pancakeIterator = pancakeHouseMenu.createIterator();		if (isVegetarian(name, pancakeIterator)) {			return true;		}		Iterator dinerIterator = dinerMenu.createIterator();		if (isVegetarian(name, dinerIterator)) {			return true;		}		Iterator cafeIterator = cafeMenu.createIterator();		if (isVegetarian(name, cafeIterator)) {			return true;		}		return false;	}	private void printVegetarianMenu(Iterator iterator) {		while (iterator.hasNext()) {			MenuItem menuItem = (MenuItem)iterator.next();			if (menuItem.isVegetarian()) {				System.out.print(menuItem.getName() + ", ");				System.out.print(menuItem.getPrice() + " -- ");				System.out.println(menuItem.getDescription());			}		}	}	private boolean isVegetarian(String name, Iterator iterator) {		while (iterator.hasNext()) {			MenuItem menuItem = (MenuItem)iterator.next();			if (menuItem.getName().equals(name)) {				if (menuItem.isVegetarian()) {					return true;				}			}		}		return false;	}}//^^ WaitressCafeMain//^^ WaitressCafe

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -