diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..b4bd3ee3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,28 @@ +## Compiled class file +#*.class +# +## Log file +#*.log +# +## BlueJ files +#*.ctxt +# +## Mobile Tools for Java (J2ME) +#.mtj.tmp/ +# +## Package Files # +#*.jar +#*.war +#*.nar +#*.ear +#*.zip +#*.tar.gz +#*.rar +# +## virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +#hs_err_pid* +#replay_pid* + + +/.idea/ +/.target/ diff --git a/git b/git new file mode 100644 index 00000000..e69de29b diff --git a/src/main/java/edu/kis/vh/nursery/DefaultCountingOutRhymer.java b/src/main/java/edu/kis/vh/nursery/DefaultCountingOutRhymer.java new file mode 100644 index 00000000..e8f9773a --- /dev/null +++ b/src/main/java/edu/kis/vh/nursery/DefaultCountingOutRhymer.java @@ -0,0 +1,43 @@ +package edu.kis.vh.nursery; + +public class DefaultCountingOutRhymer { + + private static final int CAPACITY = 12; + private static final int EMPTY = -1; + + private final int[] numbers = new int[CAPACITY]; + + public int getTotal() { + return total; + } + + + + private int total = EMPTY; + + public void countIn(int in) { + if (!isFull()) + numbers[++total] = in; + } + + public boolean callCheck() { + return total == EMPTY; + } + + public boolean isFull() { + return total == CAPACITY - 1; + } + + protected int peekaboo() { + if (callCheck()) + return EMPTY; + return numbers[total]; + } + + public int countOut() { + if (callCheck()) + return EMPTY; + return numbers[total--]; + } + +} diff --git a/src/main/java/edu/kis/vh/nursery/FIFORhymer.java b/src/main/java/edu/kis/vh/nursery/FIFORhymer.java deleted file mode 100644 index 28591ada..00000000 --- a/src/main/java/edu/kis/vh/nursery/FIFORhymer.java +++ /dev/null @@ -1,21 +0,0 @@ -package edu.kis.vh.nursery; - -public class FIFORhymer extends defaultCountingOutRhymer { - - public defaultCountingOutRhymer temp = new defaultCountingOutRhymer(); - - @Override - public int countOut() { - while (!callCheck()) - - temp.countIn(super.countOut()); - - int ret = temp.countOut(); - - while (!temp.callCheck()) - - countIn(temp.countOut()); - - return ret; - } -} diff --git a/src/main/java/edu/kis/vh/nursery/FifoRhymer.java b/src/main/java/edu/kis/vh/nursery/FifoRhymer.java new file mode 100644 index 00000000..64b1c763 --- /dev/null +++ b/src/main/java/edu/kis/vh/nursery/FifoRhymer.java @@ -0,0 +1,23 @@ +package edu.kis.vh.nursery; + +public class FifoRhymer extends DefaultCountingOutRhymer { + + private final DefaultCountingOutRhymer temp = new DefaultCountingOutRhymer(); + + @Override + public int countOut() { + while (!callCheck()) + getTemp().countIn(super.countOut()); + + int ret = getTemp().countOut(); + + while (!getTemp().callCheck()) + countIn(getTemp().countOut()); + + return ret; + } + + public DefaultCountingOutRhymer getTemp() { + return temp; + } +} diff --git a/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java b/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java index 755b2d58..657da884 100644 --- a/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java +++ b/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java @@ -1,17 +1,26 @@ package edu.kis.vh.nursery; -public class HanoiRhymer extends defaultCountingOutRhymer { +public class HanoiRhymer extends DefaultCountingOutRhymer { -int totalRejected = 0; + private int totalRejected = 0; public int reportRejected() { - return totalRejected; + return getTotalRejected(); } + @Override public void countIn(int in) { - if (!callCheck() && in > peekaboo()) - totalRejected++; - else - super.countIn(in); + if (!callCheck() && in > peekaboo()) + setTotalRejected(getTotalRejected() + 1); + else + super.countIn(in); + } + + public int getTotalRejected() { + return totalRejected; + } + + public void setTotalRejected(int totalRejected) { + this.totalRejected = totalRejected; } } diff --git a/src/main/java/edu/kis/vh/nursery/defaultCountingOutRhymer.java b/src/main/java/edu/kis/vh/nursery/defaultCountingOutRhymer.java deleted file mode 100644 index 199abf6d..00000000 --- a/src/main/java/edu/kis/vh/nursery/defaultCountingOutRhymer.java +++ /dev/null @@ -1,34 +0,0 @@ -package edu.kis.vh.nursery; - -public class defaultCountingOutRhymer { - - private int[] NUMBERS = new int[12]; - - public int total = -1; - - public void countIn(int in) { - if (!isFull()) - NUMBERS[++total] = in; - } - - public boolean callCheck() { - return total == -1; - } - - public boolean isFull() { - return total == 11; - } - - protected int peekaboo() { - if (callCheck()) - return -1; - return NUMBERS[total]; - } - - public int countOut() { - if (callCheck()) - return -1; - return NUMBERS[total--]; - } - -} diff --git a/src/main/java/edu/kis/vh/nursery/factory/DefaultRhymersFactory.java b/src/main/java/edu/kis/vh/nursery/factory/DefaultRhymersFactory.java index 60ba2a16..4622b671 100644 --- a/src/main/java/edu/kis/vh/nursery/factory/DefaultRhymersFactory.java +++ b/src/main/java/edu/kis/vh/nursery/factory/DefaultRhymersFactory.java @@ -1,29 +1,28 @@ package edu.kis.vh.nursery.factory; -import edu.kis.vh.nursery.defaultCountingOutRhymer; -import edu.kis.vh.nursery.FIFORhymer; +import edu.kis.vh.nursery.DefaultCountingOutRhymer; +import edu.kis.vh.nursery.FifoRhymer; import edu.kis.vh.nursery.HanoiRhymer; -import edu.kis.vh.nursery.factory.Rhymersfactory; -public class DefaultRhymersFactory implements Rhymersfactory { +public class DefaultRhymersFactory implements RhymersFactory { @Override - public defaultCountingOutRhymer GetStandardRhymer() { - return new defaultCountingOutRhymer(); + public DefaultCountingOutRhymer getStandardRhymer() { + return new DefaultCountingOutRhymer(); } @Override - public defaultCountingOutRhymer GetFalseRhymer() { - return new defaultCountingOutRhymer(); + public DefaultCountingOutRhymer getFalseRhymer() { + return new DefaultCountingOutRhymer(); } @Override - public defaultCountingOutRhymer GetFIFORhymer() { - return new FIFORhymer(); + public DefaultCountingOutRhymer getFIFORhymer() { + return new FifoRhymer(); } @Override - public defaultCountingOutRhymer GetHanoiRhymer() { + public DefaultCountingOutRhymer getHanoiRhymer() { return new HanoiRhymer(); } diff --git a/src/main/java/edu/kis/vh/nursery/factory/RhymersFactory.java b/src/main/java/edu/kis/vh/nursery/factory/RhymersFactory.java new file mode 100644 index 00000000..a3f7650d --- /dev/null +++ b/src/main/java/edu/kis/vh/nursery/factory/RhymersFactory.java @@ -0,0 +1,15 @@ +package edu.kis.vh.nursery.factory; + +import edu.kis.vh.nursery.DefaultCountingOutRhymer; + +public interface RhymersFactory { + + public DefaultCountingOutRhymer getStandardRhymer(); + + public DefaultCountingOutRhymer getFalseRhymer(); + + public DefaultCountingOutRhymer getFIFORhymer(); + + public DefaultCountingOutRhymer getHanoiRhymer(); + +} diff --git a/src/main/java/edu/kis/vh/nursery/factory/Rhymersfactory.java b/src/main/java/edu/kis/vh/nursery/factory/Rhymersfactory.java deleted file mode 100644 index 033755d0..00000000 --- a/src/main/java/edu/kis/vh/nursery/factory/Rhymersfactory.java +++ /dev/null @@ -1,15 +0,0 @@ -package edu.kis.vh.nursery.factory; - -import edu.kis.vh.nursery.defaultCountingOutRhymer; - - public interface Rhymersfactory { - - public defaultCountingOutRhymer GetStandardRhymer(); - - public defaultCountingOutRhymer GetFalseRhymer(); - - public defaultCountingOutRhymer GetFIFORhymer(); - - public defaultCountingOutRhymer GetHanoiRhymer(); - - } diff --git a/src/main/java/edu/kis/vh/nursery/list/IntLinkedList.java b/src/main/java/edu/kis/vh/nursery/list/IntLinkedList.java index 07efc0a2..41855b79 100644 --- a/src/main/java/edu/kis/vh/nursery/list/IntLinkedList.java +++ b/src/main/java/edu/kis/vh/nursery/list/IntLinkedList.java @@ -2,6 +2,7 @@ public class IntLinkedList { + public static final int EMPTY = -1; Node last; int i; @@ -25,13 +26,13 @@ public boolean isFull() { public int top() { if (isEmpty()) - return -1; + return EMPTY; return last.value; } public int pop() { if (isEmpty()) - return -1; + return EMPTY; int ret = last.value; last = last.prev; return ret; diff --git a/src/main/java/edu/kis/vh/nursery/list/Node.java b/src/main/java/edu/kis/vh/nursery/list/Node.java index 0a2cd75e..1704f3ce 100644 --- a/src/main/java/edu/kis/vh/nursery/list/Node.java +++ b/src/main/java/edu/kis/vh/nursery/list/Node.java @@ -8,5 +8,5 @@ public class Node { public Node(int i) { value = i; } - + } diff --git a/src/test/java/edu/kis/vh/nursery/RhymersDemo.java b/src/test/java/edu/kis/vh/nursery/RhymersDemo.java index 05aba9fa..18b8a8c7 100644 --- a/src/test/java/edu/kis/vh/nursery/RhymersDemo.java +++ b/src/test/java/edu/kis/vh/nursery/RhymersDemo.java @@ -1,17 +1,15 @@ package edu.kis.vh.nursery; -import edu.kis.vh.nursery.defaultCountingOutRhymer; -import edu.kis.vh.nursery.HanoiRhymer; import edu.kis.vh.nursery.factory.DefaultRhymersFactory; -import edu.kis.vh.nursery.factory.Rhymersfactory; +import edu.kis.vh.nursery.factory.RhymersFactory; class RhymersDemo { public static void main(String[] args) { - Rhymersfactory factory = new DefaultRhymersFactory(); + RhymersFactory factory = new DefaultRhymersFactory(); - defaultCountingOutRhymer[] rhymers = { factory.GetStandardRhymer(), factory.GetFalseRhymer(), - factory.GetFIFORhymer(), factory.GetHanoiRhymer()}; + DefaultCountingOutRhymer[] rhymers = { factory.getStandardRhymer(), factory.getFalseRhymer(), + factory.getFIFORhymer(), factory.getHanoiRhymer()}; for (int i = 1; i < 15; i++) for (int j = 0; j < 3; j++) diff --git a/src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java b/src/test/java/edu/kis/vh/nursery/RhymersJunitTest.java similarity index 83% rename from src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java rename to src/test/java/edu/kis/vh/nursery/RhymersJunitTest.java index 144906eb..f8a4fe47 100644 --- a/src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java +++ b/src/test/java/edu/kis/vh/nursery/RhymersJunitTest.java @@ -3,11 +3,11 @@ import org.junit.Assert; import org.junit.Test; -public class RhymersJUnitTest { +public class RhymersJunitTest { @Test public void testCountIn() { - defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer(); + DefaultCountingOutRhymer rhymer = new DefaultCountingOutRhymer(); int testValue = 4; rhymer.countIn(testValue); @@ -17,7 +17,7 @@ public void testCountIn() { @Test public void testCallCheck() { - defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer(); + DefaultCountingOutRhymer rhymer = new DefaultCountingOutRhymer(); boolean result = rhymer.callCheck(); Assert.assertEquals(true, result); @@ -29,7 +29,7 @@ public void testCallCheck() { @Test public void testIsFull() { - defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer(); + DefaultCountingOutRhymer rhymer = new DefaultCountingOutRhymer(); final int STACK_CAPACITY = 12; for (int i = 0; i < STACK_CAPACITY; i++) { boolean result = rhymer.isFull(); @@ -43,7 +43,7 @@ public void testIsFull() { @Test public void testPeekaboo() { - defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer(); + DefaultCountingOutRhymer rhymer = new DefaultCountingOutRhymer(); final int EMPTY_STACK_VALUE = -1; int result = rhymer.peekaboo(); @@ -60,7 +60,7 @@ public void testPeekaboo() { @Test public void testCountOut() { - defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer(); + DefaultCountingOutRhymer rhymer = new DefaultCountingOutRhymer(); final int EMPTY_STACK_VALUE = -1; int result = rhymer.countOut(); diff --git a/target/classes/edu/kis/vh/nursery/FIFORhymer.class b/target/classes/edu/kis/vh/nursery/FIFORhymer.class new file mode 100644 index 00000000..bf23cba0 Binary files /dev/null and b/target/classes/edu/kis/vh/nursery/FIFORhymer.class differ diff --git a/target/classes/edu/kis/vh/nursery/HanoiRhymer.class b/target/classes/edu/kis/vh/nursery/HanoiRhymer.class new file mode 100644 index 00000000..f2165ddf Binary files /dev/null and b/target/classes/edu/kis/vh/nursery/HanoiRhymer.class differ diff --git a/target/classes/edu/kis/vh/nursery/defaultCountingOutRhymer.class b/target/classes/edu/kis/vh/nursery/defaultCountingOutRhymer.class new file mode 100644 index 00000000..91acad32 Binary files /dev/null and b/target/classes/edu/kis/vh/nursery/defaultCountingOutRhymer.class differ diff --git a/target/classes/edu/kis/vh/nursery/factory/DefaultRhymersFactory.class b/target/classes/edu/kis/vh/nursery/factory/DefaultRhymersFactory.class new file mode 100644 index 00000000..010928a0 Binary files /dev/null and b/target/classes/edu/kis/vh/nursery/factory/DefaultRhymersFactory.class differ diff --git a/target/classes/edu/kis/vh/nursery/factory/Rhymersfactory.class b/target/classes/edu/kis/vh/nursery/factory/Rhymersfactory.class new file mode 100644 index 00000000..c09a513e Binary files /dev/null and b/target/classes/edu/kis/vh/nursery/factory/Rhymersfactory.class differ diff --git a/target/classes/edu/kis/vh/nursery/list/IntLinkedList.class b/target/classes/edu/kis/vh/nursery/list/IntLinkedList.class new file mode 100644 index 00000000..7200af62 Binary files /dev/null and b/target/classes/edu/kis/vh/nursery/list/IntLinkedList.class differ diff --git a/target/classes/edu/kis/vh/nursery/list/Node.class b/target/classes/edu/kis/vh/nursery/list/Node.class new file mode 100644 index 00000000..8b2b6c66 Binary files /dev/null and b/target/classes/edu/kis/vh/nursery/list/Node.class differ diff --git a/target/test-classes/edu/kis/vh/nursery/RhymersDemo.class b/target/test-classes/edu/kis/vh/nursery/RhymersDemo.class new file mode 100644 index 00000000..d6f1fff9 Binary files /dev/null and b/target/test-classes/edu/kis/vh/nursery/RhymersDemo.class differ diff --git a/target/test-classes/edu/kis/vh/nursery/RhymersJUnitTest.class b/target/test-classes/edu/kis/vh/nursery/RhymersJUnitTest.class new file mode 100644 index 00000000..5f030e6e Binary files /dev/null and b/target/test-classes/edu/kis/vh/nursery/RhymersJUnitTest.class differ