JAVA/Interface

상속을 이용하여 도형의 넓이 구하기

DesignatedRoom 2020. 10. 11. 17:10

문제

도형(원, 삼각형, 직사각형)의 넓이와 둘레 구하는 공식은 인터넷을 검색해서 확인하세요.

 

1. 삼각형의 넓이는 헤론의 공식을 참고하세요.

      넓이 = Math.sqrt(s(s-a)(s-b)(s-c)) s = (a+b+c)/2

 

2. Shape 인터페이스를 원과 삼각형과 직사각형 클래스에 구현하세요.

(implement -> 넓이와 둘레는 오버라이딩 해야 합니다.)

 

3. main()메소드가 있는 MainTest에서 각각 도형은 interface type으로 형변환 합니다.

( Shape s = new 원(10); s = new 삼각형(10,10,10); )

 

4. 각 도형의 멤버변수는 생성자를 통해서 초기화 해주세요.

 

5. java.text.DecimalFormat 객체를 이용해서 소수점 2째 자리까지 표현해주세요.

- new DecimalFormat("#.00"); - format(double );

 

6. Math.sqrt(a) => 루트

 

※ System.out.println("12.456700->"+new DecimalFormat("#.00").format(12.456700));

   double s = (10+10+10)/2.0;

   System.out.println(Math.sqrt(s*(s-10)*(s-10)*(s-10)));

 

예시

package test;

 

interface Shape{

                       public double PI = 3.1415;

                       public double 넓이(); public double 둘레();

                     }

 

class 원 implements Shape{

                      //반지름

 

                     //생성자를 만들어서 멤버변수를 초기화 하세요.

                     //넓이()

                     //둘레()

                    }

 

class 삼각형 implements Shape{

                     //변1

                     //변2

                     //변3

 

                    //생성자를 만들어서 멤버변수를 초기화 하세요.

                    //넓이()

                   //둘레()

              }

 

class 직사각형 implements Shape {

                   //가로

                   //세로

 

                   //생성자를 만들어서 멤버변수를 초기화 하세요

                  //넓이()

                  //둘레()

             }package test;

interface Shape{
             public double PI = 3.1415;
             public double 넓이();
             public double 둘레();
            }

class 원 implements Shape{
//반지름

//생성자를 만들어서 멤버변수를 초기화 하세요
//넓이()
//둘레()

}

class 삼각형 implements Shape{
//변1
//변2
                //변3

                //생성자를 만들어서 멤버변수를 초기화 하세요
//넓이()
//둘레()
}

class 직사각형 implements Shape {
//가로
//세로

                //생성자를 만들어서 멤버변수를 초기화 하세요
//넓이()
//둘레()
}

 

public class MainTest {

/**
 * @param args
 */
public static void main(String[] args) {
//원객체 생성(반지름);
                                Shape shape = new 원(20);
//원의 넓이값과 둘레를 구해서 출력(메소드호출)

//삼각형 객체 생성(변1,변2,변3)
                                 shape = new 삼각형(10,10,10);
//삼각형의 넓이와 둘레 구해서 출력(메소드호출)

//직사각형 객체생성(가로, 세로)
                                 shape = new 직사각형(25,20);
//직사각형의 넓이와 둘레 구해서 출력(메소드 호출)

}

 

구현

프로그램 실행결과

소스 파일

Quiz.java
0.00MB