diff --git a/.classpath b/.classpath index af1430b..563565b 100644 --- a/.classpath +++ b/.classpath @@ -12,7 +12,7 @@ - + diff --git a/.travis.yml b/.travis.yml index dff5f3a..45e9d6b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1 +1,4 @@ language: java + +jdk: + - oraclejdk8 diff --git a/README.md b/README.md new file mode 100644 index 0000000..8fb4d65 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +jax-ftd-day-4-java-assignment +=== + +[![Build Status](https://travis-ci.org/dgdang97/jax-ftd-day-4-java-assignment.svg?branch=dgdang97)](https://travis-ci.org/dgdang97/jax-ftd-day-4-java-assignment) diff --git a/src/main/java/com/cooksys/butterpillar/model/Butterpillar.java b/src/main/java/com/cooksys/butterpillar/model/Butterpillar.java index 1060573..f5cda7d 100644 --- a/src/main/java/com/cooksys/butterpillar/model/Butterpillar.java +++ b/src/main/java/com/cooksys/butterpillar/model/Butterpillar.java @@ -4,40 +4,64 @@ public class Butterpillar { // any instance fields should be private + private double length; + private double leavesEaten; + public double getLength() { - return 0; // TODO: to be implemented + return length; // TODO: to be implemented } public void setLength(double length) { - // TODO: to be implemented + this.length = length; // TODO: to be implemented } public double getLeavesEaten() { - return 0; // TODO: to be implemented + return leavesEaten; // TODO: to be implemented } public void setLeavesEaten(double leavesEaten) { - // TODO: to be implemented + this.leavesEaten = leavesEaten; // TODO: to be implemented } public boolean equals(Butterpillar b) { - return false; // TODO: to be implemented + boolean check = b.leavesEaten == b.getLeavesEaten() && b.length == b.getLength(); + return check; // TODO: to be implemented } @Override public String toString() { - return null; // TODO: to be implemented + return "Butterpillar [length=" + length + ", leavesEaten=" + leavesEaten + "]"; } @Override - public boolean equals(Object o) { - if (o instanceof Butterpillar) { - return this.equals((Butterpillar) o); - } else { + public int hashCode() { + final int prime = 31; + int result = 1; + long temp; + temp = Double.doubleToLongBits(leavesEaten); + result = prime * result + (int) (temp ^ (temp >>> 32)); + temp = Double.doubleToLongBits(length); + result = prime * result + (int) (temp ^ (temp >>> 32)); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) return false; - } + if (getClass() != obj.getClass()) + return false; + Butterpillar other = (Butterpillar) obj; + if (Double.doubleToLongBits(leavesEaten) != Double.doubleToLongBits(other.leavesEaten)) + return false; + if (Double.doubleToLongBits(length) != Double.doubleToLongBits(other.length)) + return false; + return true; } } + diff --git a/src/main/java/com/cooksys/butterpillar/model/Catterfly.java b/src/main/java/com/cooksys/butterpillar/model/Catterfly.java index 81ff09a..4675d8e 100644 --- a/src/main/java/com/cooksys/butterpillar/model/Catterfly.java +++ b/src/main/java/com/cooksys/butterpillar/model/Catterfly.java @@ -3,39 +3,61 @@ public class Catterfly { // any instance fields should be private - + private double wingspan; + private double weight; + public double getWingspan() { - return 0; // to be implemented + return wingspan; // to be implemented } public void setWingspan(double wingspan) { - // to be implemented + this.wingspan = wingspan; // to be implemented } public double getWeight() { - return 0; // TODO: to be implemented + return weight; // TODO: to be implemented } public void setWeight(double weight) { - // TODO: to be implemented + this.weight = weight; // TODO: to be implemented } public boolean equals(Catterfly c) { - return false; // TODO: to be implemented + boolean check = (c.weight == c.getWeight() && c.wingspan == c.getWingspan()); + return check; // TODO: to be implemented } @Override public String toString() { - return null; // TODO: to be implemented + return "Catterfly [wingspan-" + wingspan + ", weight-" + weight + "]"; // TODO: to be implemented } @Override - public boolean equals(Object o) { - if (o instanceof Catterfly) { - return this.equals((Catterfly) o); - } else { + public int hashCode() { + final int prime = 31; + int result = 1; + long temp; + temp = Double.doubleToLongBits(weight); + result = prime * result + (int) (temp ^ (temp >>> 32)); + temp = Double.doubleToLongBits(wingspan); + result = prime * result + (int) (temp ^ (temp >>> 32)); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + Catterfly other = (Catterfly) obj; + if (Double.doubleToLongBits(weight) != Double.doubleToLongBits(other.weight)) + return false; + if (Double.doubleToLongBits(wingspan) != Double.doubleToLongBits(other.wingspan)) return false; - } + return true; } } diff --git a/src/main/java/com/cooksys/butterpillar/model/GrowthModel.java b/src/main/java/com/cooksys/butterpillar/model/GrowthModel.java index 3f034fd..20d1c58 100644 --- a/src/main/java/com/cooksys/butterpillar/model/GrowthModel.java +++ b/src/main/java/com/cooksys/butterpillar/model/GrowthModel.java @@ -3,47 +3,76 @@ public class GrowthModel { // any instance fields should be private - + private double lengthToWingspan; + private double leavesEatenToWeight; + public double getLengthToWingspan() { - return 0; // to be implemented + return lengthToWingspan; // to be implemented } public void setLengthToWingspan(double lengthToWingspan) { - // to be implemented + this.lengthToWingspan = lengthToWingspan; // to be implemented } public double getLeavesEatenToWeight() { - return 0; // to be implemented + return leavesEatenToWeight; // to be implemented } public void setLeavesEatenToWeight(double leavesEatenToWeight) { - // to be implemented + this.leavesEatenToWeight = leavesEatenToWeight; // to be implemented } public Catterfly butterpillarToCatterfly(Butterpillar butterpillar) { - return null; // to be implemented + Catterfly catterfly = new Catterfly(); + catterfly.setWingspan(butterpillar.getLength() * getLengthToWingspan()); + catterfly.setWeight(butterpillar.getLeavesEaten() * getLeavesEatenToWeight()); + return catterfly; // to be implemented } public Butterpillar catterflyToButterpillar(Catterfly catterfly) { - return null; // to be implemented + Butterpillar butterpillar = new Butterpillar(); + butterpillar.setLength(catterfly.getWingspan() / getLengthToWingspan()); + butterpillar.setLeavesEaten(catterfly.getWeight() / getLeavesEatenToWeight()); + return butterpillar; // to be implemented } public boolean equals(GrowthModel g) { - return false; // TODO: to be implemented + boolean check = (g.lengthToWingspan == g.getLengthToWingspan() && g.leavesEatenToWeight == g.getLeavesEatenToWeight()); + return check; // TODO: to be implemented } @Override public String toString() { - return null; // TODO: to be implemented + return "GrowthModel [lengthToWingspan=" + lengthToWingspan + ", leavesEatenToWeight=" + leavesEatenToWeight + + "]"; } @Override - public boolean equals(Object o) { - if (o instanceof GrowthModel) { - return this.equals((GrowthModel) o); - } else { + public int hashCode() { + final int prime = 31; + int result = 1; + long temp; + temp = Double.doubleToLongBits(leavesEatenToWeight); + result = prime * result + (int) (temp ^ (temp >>> 32)); + temp = Double.doubleToLongBits(lengthToWingspan); + result = prime * result + (int) (temp ^ (temp >>> 32)); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + GrowthModel other = (GrowthModel) obj; + if (Double.doubleToLongBits(leavesEatenToWeight) != Double.doubleToLongBits(other.leavesEatenToWeight)) + return false; + if (Double.doubleToLongBits(lengthToWingspan) != Double.doubleToLongBits(other.lengthToWingspan)) return false; - } + return true; } }