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

Respuesta :

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);      } }

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.

Ver imagen mahamnasir