The programming language is Java! Sorry the pic is blurry . Here is the program
ID: 3836702 • Letter: T
Question
The programming language is Java!
Sorry the pic is blurry . Here is the program I wrote , it has errors.
The instructions gives speed to the bike eventhough the bike only has geers parameter . Please fix my program.
public class Vehicle {
double maxSpeed;
int numOfWheels;
public Vehicle()
{
this (0,0);
System.out.println("Default constructor - Vehicle calss");
}
public Vehicle (double maxSpeed, int numOfWheels)
{
this.maxSpeed = maxSpeed;
this.numOfWheels = numOfWheels;
}
public double getMaxSpeed()
{
return maxSpeed;
}
public void setMaxSpeed()
{
this.maxSpeed = maxSpeed;
}
public int getNumOfWheels()
{
return numOfWheels;
}
public void setNumOfWheels(int numOfWheels)
{
this.numOfWheels = numOfWheels;
}
public String toString()
{
return "MaxSpeed : " + maxSpeed + " numOfWheels : " + numOfWheels;
}
}
public class Bicycle extends Vehicle {
int numOfGears;
public Bicycle()
{
this.numOfGears = 0 ;
System.out.println("Default constructor - Bicycle class");
}
public Bicycle(int numOfGears )
{
this.numOfGears = numOfGears ;
}
public int getNumOfGearts()
{
return numOfGears;
}
public void setNumOfGears (int numOfGears)
{
this.numOfGears = numOfGears ;
}
}
public String toString()
{
return super.toString();
}
}
public class VehicleTest {
public static void main(String[] args) {
Vehicle v1 = new Vehicle (45.0,3) ;
Bicycle b1 = new Bicycle (30.0,10);
System.out.println(v1);
System.out.println(b1);
Bicycle b2 = new Bicycle(10.0,2);
Bicycle b3 = new Bicycle(3.0,2);
Vehicle v2 = new Vehicle();
Vehicle vehicles[] = {b2, b3, v2};
for (Vehicle v : vehicles)
{
v.toString()
}
}}
Explanation / Answer
I have updated your code as per the specification given in the image. Bicycle will also have maxSpeed as it is inheriting from Vehicle. That is the basic concept of inheritence that child class will get all the properties of parent class.
Below is your updated code: -
Vehicle.java
public class Vehicle {
double maxSpeed;
int numOfWheels;
public Vehicle() {
this(0, 0);
System.out.println("Default constructor - Vehicle calss");
}
public Vehicle(double maxSpeed, int numOfWheels) {
this.maxSpeed = maxSpeed;
this.numOfWheels = numOfWheels;
}
public double getMaxSpeed() {
return maxSpeed;
}
public void setMaxSpeed(double maxSpeed) {
this.maxSpeed = maxSpeed;
}
public int getNumOfWheels() {
return numOfWheels;
}
public void setNumOfWheels(int numOfWheels) {
this.numOfWheels = numOfWheels;
}
public String toString() {
return "MaxSpeed : " + maxSpeed + " numOfWheels : " + numOfWheels;
}
}
Bicycle.java
public class Bicycle extends Vehicle {
int numOfGears;
public Bicycle() {
this.numOfGears = 0;
System.out.println("Default constructor - Bicycle class");
this.numOfWheels = 2;
}
public Bicycle(int numOfGears) {
this.numOfGears = numOfGears;
this.numOfWheels =2;
}
public int getNumOfGearts() {
return numOfGears;
}
public void setNumOfGears(int numOfGears) {
this.numOfGears = numOfGears;
}
public String toString() {
return super.toString() + " numOfGears:"+this.numOfGears;
}
}
VehicleTest.java
public class VehicleTest {
public static void main(String[] args) {
Vehicle v1 = new Vehicle(45.0, 3);
Bicycle b1 = new Bicycle(10);
b1.setMaxSpeed(30.0);
System.out.println(v1);
System.out.println(b1);
Bicycle b2 = new Bicycle(2);
b2.setMaxSpeed(10.0);
Bicycle b3 = new Bicycle(2);
b3.setMaxSpeed(3.0);
Vehicle v2 = new Vehicle(35.0,4);
Vehicle vehicles[] = { b2, b3, v2 };
for (Vehicle v : vehicles) {
System.out.println(v);
}
}
}
Sample run: -
Default constructor - Vehicle calss
MaxSpeed : 45.0 numOfWheels : 3
MaxSpeed : 30.0 numOfWheels : 2 numOfGears:10
Default constructor - Vehicle calss
Default constructor - Vehicle calss
MaxSpeed : 10.0 numOfWheels : 2 numOfGears:2
MaxSpeed : 3.0 numOfWheels : 2 numOfGears:2
MaxSpeed : 35.0 numOfWheels : 4
Note that this is correct as per the specification in the image.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.