csci1913/lab6.java
Michael Zhang 524510999f
f
2018-01-29 17:37:09 -06:00

59 lines
No EOL
1.4 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 {
private int width, height;
public Rectangle(int width, int height) {
super(4, new int[] { width, height, width, height });
this.width = width;
this.height = height;
}
public int area() {
return this.width * this.height;
}
}
class Square extends Polygon {
private int sideLength;
public Square(int sideLength) {
super(4, new int[] { sideLength, sideLength, sideLength, sideLength });
this.sideLength = sideLength;
}
public int area() {
return this.sideLength * this.sideLength;
}
}
class Shapes {
public static void main(String[] args) {
Rectangle wrecked = new Rectangle(3, 5); // Make a 3 × 5 rectangle.
System.out.println(wrecked.area()); // Print its area, 15.
System.out.println(wrecked.perimeter()); // Print its perimeter, 16.
Square nerd = new Square(7); // Make a 7 × 7 square.
System.out.println(nerd.area()); // Print its area, 49.
System.out.println(nerd.perimeter()); // Print its perimeter, 28.
}
}