From 7a73162607544204032aa66cce755daf21edebda Mon Sep 17 00:00:00 2001 From: Matt Strapp Date: Tue, 24 May 2022 11:18:46 -0500 Subject: Graduate Signed-off-by: Matt Strapp --- csci1913/Java/lab6_strap012.java | 64 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 csci1913/Java/lab6_strap012.java (limited to 'csci1913/Java/lab6_strap012.java') diff --git a/csci1913/Java/lab6_strap012.java b/csci1913/Java/lab6_strap012.java new file mode 100644 index 0000000..df8d3d3 --- /dev/null +++ b/csci1913/Java/lab6_strap012.java @@ -0,0 +1,64 @@ +class Polygon { + private int[] sideLengths; + + public Polygon(int sides, int... lengths) { + int index = 0; + sideLengths = new int[sides]; + for (int length : lengths) { + sideLengths[index] = length; + index += 1; + } + } + + public int side(int number) { + return sideLengths[number]; + } + + public int perimeter() { + int total = 0; + for (int index = 0; index < sideLengths.length; index += 1) { + total += side(index); + } + return total; + } +} + +class Rectangle extends Polygon { + public Rectangle(int l, int w) { + super(4, l, w, l, w); + } + public int area() { + return this.side(0)*this.side(1); + } +} + +class Square extends Rectangle { + public Square(int l) { + super(l, l); + } + // public int area() { + // return this.side(0)*this.side(1); + // } +} + +class Shapes { + public static void main(String[] args) { + Rectangle wreck = new Rectangle(3, 5); + + System.out.println(wreck.side(0)); // 3 1 point. + System.out.println(wreck.side(1)); // 5 1 point. + System.out.println(wreck.side(2)); // 3 1 point. + System.out.println(wreck.side(3)); // 5 1 point. + System.out.println(wreck.area()); // 15 1 point. + System.out.println(wreck.perimeter()); // 16 1 point. + + Square nerd = new Square(7); + + System.out.println(nerd.side(0)); // 7 1 point. + System.out.println(nerd.side(1)); // 7 1 point. + System.out.println(nerd.side(2)); // 7 1 point. + System.out.println(nerd.side(3)); // 7 1 point. + System.out.println(nerd.area()); // 49 1 point. + System.out.println(nerd.perimeter()); // 28 1 point. + } +} \ No newline at end of file -- cgit v1.2.3