24.3k views
1 vote
This needs to be written in Java.

Create an Automobile class for a dealership. Include fields for an ID number, make, model, color, year, vin number, miles per gallon, and speed. Include get and set methods for each field. Do not allow the ID to be negative or more than 9999; if it is, set the ID to 0. Do not allow the year to be earlier than 2000 or later than 2017; if it is, set the year to 0. Do not allow the miles per gallon to be less than 10 or more than 60; if it is, set the miles per gallon to 0. Car speed should be initialized as 0. Include a constructor that accepts arguments for each field value and uses the set methods to assign the values. Also write two methods, Accelerate () and Brake (). Whenever Accelerate () is called, increase the speed by 5, and whenever Brake () is called, decrease the speed by 5. To allow users to specify the speed to increase (or decrease), create two overloading methods for Accelerate () and Brake () that accept a single parameter specifying the increasing (or decreasing) speed. Write an application that declares several Automobile objects and demonstrates that all the methods work correctly. Save the files as Automobile.java and TestAutomobiles.java

1 Answer

6 votes

Answer:

Here is Automobile.java

class Automobile { //class name

private int ID, year, milesPerGallon, speed = 0; // private member variables of Automobile of int type

private String model, vinNo, make, color; // private member variables of Automobile of String type

public void setID(int ID){ //mutator method to set ID

if (ID >= 0 && ID <= 9999) // checks ID should not be negative or more than 9999

this.ID = ID;

else this.ID = 0; } //if ID is negative or greater than 9999 then set ID to 0

public void setModel(String model){ // mutator method to set model

this.model = model; }

public void setYear(int year){// mutator method to set year

if (year >= 2000 && year <= 2017) //checks that year should not be earlier than 2000 or later than 2017

this.ID = ID;

else this.year = 0; } //if year is less than 2000 or greater than 2017 then set year to 0

public void setVinNo(String vinNo){ //mutator method to set vin number

this.vinNo = vinNo; }

public void setMilesPerGalon(int milesPerGallon){ //mutator method to set miles per gallon

if (milesPerGallon >= 10 && year <= 60) //checks that miles per gallon should not be less than 10 or more than 60

this.milesPerGallon = milesPerGallon;

else this.milesPerGallon = 0; } //if it is more than 60 or less than 10 then set miles per gallon to 0

public void setSpeed(int speed){ //mutator method to set speed

this.speed = speed; }

public void setMake(String make){ //mutator method to set make

this.make = make; }

public void setColor(String color){ //mutator method to set color

this.color = color; }

public int getID() //accessor method to get or access ID

{return ID;} //returns the current ID

public String getModel() //accessor method to get or access model

{return model;} //returns the current model

public int getYear()// accessor method to get or access year

{return year;} //returns the current year

public String getVinNo() // accessor method to get or access vin number

{return vinNo;} //returns the current vin number

public int getMilesPerGallon() //accessor method to get or access miles per gallon

{return milesPerGallon;} //returns the current miles per gallon

public int getSpeed() //accessor method to get or access speed

{return speed;} //returns the current speed

public String getMake() //accessor method to get or access make

{return make;} //returns the current make

public String getColor() //accessor method to get or access color

{return color;} //returns the current color

public int Accelerate() { //method that increase speed by 5

setSpeed(speed + 5); //calls set speed to add 5 to the speed field

return speed; } //returns the speed after increasing 5

public int Brake() { //method that decreases speed by 5

setSpeed(speed - 5);//calls set speed to subtract 5 from the speed field

return speed; } //returns the speed after decreasing 5

public int Accelerate(int spd) { //overloading methods for Accelerate()that accepts a single parameter spd

setSpeed(speed + spd); //increases speed up to specified value of spd

return speed; }

public int Brake(int spd) { //overloading methods for Brake()that accepts a single parameter spd

setSpeed(speed - spd); //decreases speed up to specified value of spd

return speed; }

public Automobile(int ID, String make, String model, int year, String vinNo, int milesPerGallon, int speed, String color){ //constructor that accepts arguments for each field value and uses the set methods to assign the values

setID(ID);

setModel(model);

setYear(year);

setVinNo(vinNo);

setMilesPerGalon(milesPerGallon);

setSpeed(speed);

setMake(make);

setColor(color); } }

Step-by-step explanation:

Here is TestAutomobiles.java

public class TestAutomobiles { //class name

public static void main(String args[]) { //start of main method

Automobile auto = new Automobile(123, "ABC", "XYZ", 2010, "MMM", 30, 150, "White"); //creates an object of Automobile class and calls its constructor passing the values for each of the fields

System.out.println("Initial Speed: " + auto.getSpeed()); //calls getSpeed method to get the current speed using object auto. The current speed is 150

System.out.println("Speed after applying acceleration: " + auto.Accelerate()); //calls Accelerate() method to increase the current speed to 5

System.out.println("Speed after applying brake: " + auto.Brake()); //calls Brake() method to decrease the current speed to 5

System.out.println("Speed after applying acceleration: " + auto.Accelerate(180)); //calls overloading Accelerate() method to increase the current speed to 180

System.out.println("Speed after applying brake: " + auto.Brake(50)); } } //calls overloading Brake() method to decrease the current speed to 50

//The screenshot of the output of the program is attached.

This needs to be written in Java. Create an Automobile class for a dealership. Include-example-1
User Paul Wheeler
by
4.5k points