package demo_37;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

public class TryCar {

	public static void main(String[] args) {
		List<Car> cars = new ArrayList<Car>(); // Top five cars
		cars.add(new Car("Aston Martin","DB5",1964,new FullName("James","","Bond")));
		cars.add(new Car("George Barris","BatMobile", 1963,new FullName("Bruce","","Wayne")));
		cars.add(new Car("Rolls Royce","Phantom V",1965,new FullName("John","Winston","Lennon")));
		cars.add(new Car("Mercedes Benz","300SL Gullwing",1955,new FullName("Clark","","Gable")));
		cars.add(new Car("Deusenberg","Model J",1931,new FullName("Phil","","Berg")));
		printCars(cars);
		
		Map<Integer,Car> yearMap = new HashMap<Integer,Car>();
		Map<Car,String> responseMap = new HashMap<Car,String>();
		for(Car car : cars) {
			yearMap.put(car.year,car);
			responseMap.put(car, getUserResponse(car));
		}

		Scanner getuser = new Scanner(System.in);
		boolean more=true;
		while(more) {
			System.out.print("What year? ==> ");
			String resp=getuser.nextLine();
			int year=0;
			try {
				year=Integer.parseInt(resp);
			} catch(Exception e) { 
				more=false;
			}
			if (more) {
				Car chosen=yearMap.get(year); 
				if (chosen!=null) {
				   System.out.println("Car built in " + year + " : " + 
				   		chosen + ", Response: " + responseMap.get(chosen));
				} else {
					System.out.println("No cars built in " + year);
				}
			}
		}	
		System.out.println("All done.");
		getuser.close();
	}
	
	private static void printCars(List<Car> cars) {
		for(int i=0;i<cars.size();i++) {
			System.out.println("" + i + " : " + cars.get(i));			
		}
	}
	
	private static String getUserResponse(Car car) {
		switch(car.year) {
		case 1931: return "It's a doozy!";
		case 1955: return "Very suave.";
		case 1963: return "Holy BatMobile, BatMan... slow down!";
		case 1964: return "Shaken, not stirred.";
		case 1965: return "Groovy!";
		default: return "Hunh???";
		}
	}

}

