Java - Practice7 - question2
문제 2
아래 설명을 보고 코드를 작성하시면 됩니다.
- Shape 클래스 안에는 한 개의 변수가 존재한다.
Shape 클래스는 생성될 때 숫자를 하나 입력 받는다. - Interface Clac 안에는 Area()함수가 존재한다.
- 원, 정삼각형, 정사각형에 대한 클래스가 존재한다.
- 각 클래스에서 Area()함수를 실행하면 넓이를 구할 수 있어야 한다.
Answer
- Shape.java
package practice7;
import java.util.Scanner;
abstract class Shape implements Calc{
Scanner sc = new Scanner(System.in);
int a;
public Shape() {
a = sc.nextInt();
}
}
- Circle.java
package practice7;
public class Circle extends Shape implements Calc {
private double result;
public void Area() {
result = a * a * 3.14;
System.out.println(result);
}
}
- Triangle.java
package practice7;
public class Triangle extends Shape implements Calc {
private double result;
public void Area() {
result = Math.sqrt(3) / 4 * a * a;
System.out.println(result);
}
}
- Square.java
package practice7;
public class Square extends Shape implements Calc {
private double result;
public void Area() {
result = a * a;
System.out.println(result);
}
}
- Test2.java
package practice7;
public class Test2 {
public static Shape[] shapes;
public static void main(String[] args) {
shapes = new Shape[3];
shapes[0] = new Circle();
shapes[1] = new Triangle();
shapes[2] = new Square();
for(int i=0; i<shapes.length; i++) {
shapes[i].Area();
}
}
}
- 콘솔화면
1
2
3
3.14
1.7320508075688772
9.0