/*******************************************************
 *	CSC A06 Tutorial III				*
 *	Prepared By Eric Beiers				*
 * 							*
 * 	Class Name: Car.java (version 2)		*
 * 							*
 * 	Purpose: This class represents a car,		*
 *		 and holds variables to represent	*
 *		 its various charactoristics.		*
 * 							*
  *******************************************************/


public class Car {
	// static variables are common to all occurances of an object
	private static int numberOfCars = 0;

	// default values for all the variables of the class
	private int numWheels = 4;
	private int doors = 2;
	private String trunkColour = "Red";
	private String hoodColour = "Red";
	private String roofColour = "Red";
	private String interiorColour = "Red";
	private String sideColour = "Red";
	private String model = "Sport Wagon";
	private boolean CDPlayer = false;
	private boolean isTurnedOn = false;


	// Constructor for Car Class
	public Car() {
		numberOfCars++;
	}

	// Constructor for Car Class, modifies default variables in car class
	public Car(int numWheels, int doors, String colour, 
			String model, boolean CDPlayer, boolean isTurnedOn) {
		numberOfCars++;
		this.numWheels = numWheels;
		this.doors = doors;
		this.trunkColour = colour;
		this.hoodColour = colour;
		this.roofColour = colour;
		this.interiorColour = colour;
		this.sideColour = colour;
		this.model = model;
		this.CDPlayer = CDPlayer;
		this.isTurnedOn = isTurnedOn;
	}

	// switches car on and off
	public void UseKey() {
		isTurnedOn = !isTurnedOn; 
	}

	// prints info about this car
	public void PrintDescription() {

		System.out.println("This car has:");
		System.out.println("     Wheels: " + this.numWheels);
		System.out.println("     Number of Doors: " + this.doors);
		System.out.println("     Colours: " + this.trunkColour + " trunk, " 
			+ this.hoodColour + " hood, " + this.roofColour 
			+ " roof and a " + this.interiorColour + " interior.");
		System.out.println("     Model: " + this.model);

		if (this.CDPlayer) { 
			System.out.println("     It has a CD Player");
		} else {
			System.out.println("     It does not have a CD Player.");
		}

		if (this.isTurnedOn) { 
			System.out.println("      .. and finally, it is turned ON.");
		} else {
			System.out.println("      .. and finally, it is turned OFF.");
		}
		System.out.println("");
	}

	// whatColour method that returns the colour of the item sent to it
	public String whatColour(String item) {
		if (item.toLowerCase() == "trunk") {
			return this.trunkColour;
		} else if (item.toLowerCase() == "hood") {
			return this.hoodColour;
		} else if (item.toLowerCase() == "roof") {
			return this.roofColour;
		} else if (item.toLowerCase() == "interior") {
			return this.interiorColour;
		} else {
			return this.sideColour;
		}
	}

	// whatColour method that returns the colour of the sides
	public String whatColour() {
		return this.sideColour;
	}


	// changeColour method that changes the colour of a part of the car
	public void changeColour(String item, String colour) {
		if (item.toLowerCase() == "trunk") {
			this.trunkColour = colour;
		} else if (item.toLowerCase() == "hood") {
			this.hoodColour = colour;
		} else if (item.toLowerCase() == "roof") {
			this.roofColour = colour;
		} else if (item.toLowerCase() == "interior") {
			this.interiorColour = colour;
		} else {
			this.sideColour = colour;
		}
	}


	// changeModel method changes the model variable
	public void changeModel(String model) {
		if (model.length() > 0) {
			this.model = model;
		}
	}


}  

sitemap