diff --git a/src/main/java/dal/gravity/AbstractEarthPendulum.java b/src/main/java/dal/gravity/AbstractEarthPendulum.java deleted file mode 100644 index 87b3460..0000000 --- a/src/main/java/dal/gravity/AbstractEarthPendulum.java +++ /dev/null @@ -1,23 +0,0 @@ -package dal.gravity; - - -/** - * Represents a pendulum on the planet Earth - */ -public abstract class AbstractEarthPendulum extends AbstractPendulum { - - /** gravitational constant */ - public static final double GRAVITY = 9.80665; - - /** - * Creates a new Pendulum instance using - * inLength: the string length (>0) - * inMass: the point mass (>0) - * inTheta0: angular displacement at t=0 (0<=theta0) - */ - public AbstractEarthPendulum (double inLength, double inMass, double inTheta0) { - super (inLength, inMass, inTheta0, GRAVITY); - } - -} - diff --git a/src/main/java/dal/gravity/AbstractPendulum.java b/src/main/java/dal/gravity/AbstractPendulum.java index 1b59a5a..2548930 100644 --- a/src/main/java/dal/gravity/AbstractPendulum.java +++ b/src/main/java/dal/gravity/AbstractPendulum.java @@ -5,8 +5,10 @@ */ public abstract class AbstractPendulum { - - /* instance variables - string length, point mass, angular displacement +//abstract class + /** gravitational constant */ + public static final double GRAVITY = 9.80665; + /* instance variables - string length, point mass, angular displacement * at t=0, constant for local gravitational field in m/s^2 (e.g., 9.81 on Earth) */ private double stringLength, pointMass; diff --git a/src/main/java/dal/gravity/PendulumRunner.java b/src/main/java/dal/gravity/PendulumRunner.java index 2c61033..2a4a6be 100644 --- a/src/main/java/dal/gravity/PendulumRunner.java +++ b/src/main/java/dal/gravity/PendulumRunner.java @@ -7,7 +7,7 @@ * versus the Euler algorithm approximation */ public class PendulumRunner { - +//run the main public static void main (String [] args) { NumberFormat nf = NumberFormat.getInstance (); nf.setMaximumFractionDigits (3); diff --git a/src/main/java/dal/gravity/RegularPendulum.java b/src/main/java/dal/gravity/RegularPendulum.java index 65b9014..2ab278e 100644 --- a/src/main/java/dal/gravity/RegularPendulum.java +++ b/src/main/java/dal/gravity/RegularPendulum.java @@ -3,7 +3,7 @@ /** * Represents a pendulum */ -public class RegularPendulum extends AbstractEarthPendulum { +public class RegularPendulum extends AbstractPendulum { private double delta, iterations = 0; private double dissipation; private double lastTheta, lastVel, lastAccel; @@ -13,7 +13,7 @@ public class RegularPendulum extends AbstractEarthPendulum { */ public RegularPendulum (double inLength, double inMass, double inTheta0, double inDelta, double inDiss) { - super (inLength, inMass, inTheta0); + super (inLength, inMass, inTheta0, GRAVITY); delta=inDelta; dissipation = inDiss; lastVel = 0; @@ -25,7 +25,7 @@ public RegularPendulum (double inLength, double inMass, double inTheta0, double inDelta) { this (inLength, inMass, inTheta0, inDelta, 0); } - + public void step () { iterations++; lastTheta = lastTheta + lastVel*delta; diff --git a/src/main/java/dal/gravity/SimplePendulum.java b/src/main/java/dal/gravity/SimplePendulum.java index 5c7bf30..947c6b8 100644 --- a/src/main/java/dal/gravity/SimplePendulum.java +++ b/src/main/java/dal/gravity/SimplePendulum.java @@ -3,10 +3,10 @@ /** * Represents pendulums exhibiting (approximately) simple harmonic motion */ -public class SimplePendulum extends AbstractEarthPendulum { +public class SimplePendulum extends AbstractPendulum { private double angularFrequency, periodOfMotion; - +//simple /** * Creates a new Pendulum instance using * inLength: the string length (>0) @@ -14,7 +14,7 @@ public class SimplePendulum extends AbstractEarthPendulum { * inTheta0: angular displacement at t=0 (0<=theta0<=pi/6) */ public SimplePendulum (double inLength, double inMass, double inTheta0) { - super (inLength, inMass, inTheta0); + super (inLength, inMass, inTheta0,GRAVITY); angularFrequency = Math.sqrt (this.getGravitationalField () / this.getStringLength ()); periodOfMotion = 2 * Math.PI * Math.sqrt (this.getStringLength () / this.getGravitationalField ());