Why am I keeping getting 0.0000 in the output ? I've put here some code which is main class, one of the child classes FragGrenade and parent class -Explosive. I keep getting 0.0000 from the method public void explode() and I guess I'm doing smth wrong with printf(). Could someone help me with that?
public class ExplosiveDemo{
public static void main(String args[]){
Explosive frag = new FragGrenade(15.5);
System.out.println( frag.isRadioactive() );
// false
frag.explode();
System.out.println();
// OUTPUT:
// Boom: blast radius 15.50 meters
Explosive nuke = new Nuke(3.2);
System.out.println(nuke.isRadioactive() );
// true
nuke.explode();
// OUTPUT:
// Boom: blast radius 3200.00 meters
// Area irradiated
}
public class FragGrenade extends Explosive{
protected double blastRadiusMeters;
public FragGrenade(double blastRadiusMeters)
{
super(blastRadiusMeters);
}
public void explode()
{
System.out.printf("Boom: blast radius %f meters\n", this.blastRadiusMeters);
}
public boolean isRadioactive()
{
return false;
}
}
}
public abstract class Explosive {
protected double blastRadiusMeters;
public Explosive(double blastRadiusMeters)
{
this.blastRadiusMeters = blastRadiusMeters;
}
public void explode()
{
System.out.printf("Boom: blast radius %.2 meters\n", this.blastRadiusMeters);
}
public boolean isRadioactive()
{
return false;
}
}