So I am currently taking a java course and yes I am new to java. I know some of this code will look redundant but it is what it is. So this week we are working with overloading with methods named the same thing but only accept certain data types. This is the main method I will use to call other java methods.
// This class uses a DebugBox class to instantiate two Box objects
public class DebugFour3
{
public static void main(String args[])
{
int width = 12,
length = 10,
height = 8;
DebugBox box1 = new DebugBox();
DebugBox box2 = new DebugBox(width, length, height);
System.out.println("The dimensions of the first box are");
box1.showData();
System.out.print(" The volume of the first box is ");
showVolume(box1);
System.out.println("The dimensions of the second box are");
box2.showData();
System.out.print(" The volume of the second box is ");
showVolume(box2);
}
public static void showVolume(DebugBox aBox)
{
double vol = aBox.getVolume();
System.out.println(vol);
}
}
Now the first set of data that is present here works as it should and results in a volume of 1. After passing the information for the second box to the Second DeBugBox method it will not pass it to the get volume and return it. It just returns 0 for length width and height and volume.
public class DebugBox
{
private int width;
private int length;
private int height;
public DebugBox()
{
length = 1;
width = 1;
height = 1;
}
public DebugBox(int width, int length, int height)
{
width = width;
length = length;
height = height;
getVolume();
}
public void showData()
{
System.out.println("Width: " + width + " Length: " +
length + " Height: "+ height);
}
public double getVolume()
{
double vol = length * width * height;
return vol;
}
}