Question: Data structures. Im having trouble getting my test class to work. Its MyArrayObjDemo , and its supposed to run my created classes Rectangle and RightTriangle
Data structures. Im having trouble getting my test class to work. Its MyArrayObjDemo , and its supposed to run my created classes Rectangle and RightTriangle
Rectangle.java :
package apps; public class Rectangle implements Comparable{ private double width; private double height; public Rectangle(double width, double height) { this.width = width; this.height = height; } public double getWidth() { return width; } public double getHeight() { return height; } public double getArea() { return width * height; } public boolean equals(Rectangle other) { return this.getArea() == other.getArea(); } public int compareTo(Rectangle other) { if (this.getArea() < other.getArea()) { return -1; } else if (this.getArea() > other.getArea()) { return 1; } else { return 0; } } public String toString() { return "Rectangle [width=" + width + ", height=" + height + "]"; } }
RightTriangle.java :
package apps; public class RightTriangle implements Comparable{ private double side1; private double side2; private double hypotenuse; public RightTriangle(double side1, double side2) { this.side1 = side1; this.side2 = side2; this.hypotenuse = Math.sqrt(side1*side1 + side2*side2); } public double getSide1() { return side1; } public double getSide2() { return side2; } public double getHypotenuse() { return hypotenuse; } public double getPerimeter() { return side1 + side2 + hypotenuse; } public boolean equals(RightTriangle other) { return this.side1 == other.side1 && this.side2 == other.side2 || this.side1 == other.side2 && this.side2 == other.side1; } public int compareTo(RightTriangle other) { if (this.getPerimeter() < other.getPerimeter()) { return -1; } else if (this.getPerimeter() > other.getPerimeter()) { return 1; } else { return 0; } } public String toString() { return "RightTriangle [side1=" + side1 + ", side2=" + side2 + ", hypotenuse=" + hypotenuse + "]"; } } MyArrayObjDemo.java :
package apps; public class MyArrayObjDemo { public static void main(String[] args) { MyArray rectangles = new MyArray(); Rectangle r1 = new Rectangle(2, 5); Rectangle r2 = new Rectangle(2, 4.9); System.out.println(r1.getArea() + ", " + r1.getPerimeter()); // 10.0, 14.0 rectangles.add(r1); rectangles.add(r2); rectangles.add(new Rectangle(1,9)); rectangles.printArray(); // printArray(3,5): Rect(2.0,5.0) Rect(2.0,4.9) Rect(1.0,9.0) System.out.println(rectangles.search(r2)); // 1 System.out.println(rectangles.search(new Rectangle(5.0,2.0))); // 0 rectangles.sort(); rectangles.printArray(); // printArray(3,5): Rect(1.0,9.0) Rect(2.0,4.9) Rect(2.0,5.0) MyArray rTriagles = new MyArray(); RightTriangle rt1 = new RightTriangle(3, 4); RightTriangle rt2 = new RightTriangle(1, 1); System.out.println(rt1.getArea() + ", " + rt1.getPerimeter()); // 6.0, 12.0 rTriagles.add(rt1); rTriagles.add(rt2); rTriagles.add(new RightTriangle(3.1, 3.9)); rTriagles.printArray(); // printArray(3,5): RT(3.0,4.0) RT(1.0,1.0) RT(3.1,3.9) System.out.println(rTriagles.search(rt2)); // 1 System.out.println(rTriagles.search(new RightTriangle(4,3))); // 0 rTriagles.sort(); rTriagles.printArray(); // printArray(3,5): RT(1.0,1.0) RT(3.1,3.9) RT(3.0,4.0) } } MyArrayObjDemo should not change
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
