-
상속을 이용하여 도형의 넓이 구하기JAVA/Interface 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);
//직사각형의 넓이와 둘레 구해서 출력(메소드 호출)
}구현
프로그램 실행결과
소스 파일
'JAVA > Interface' 카테고리의 다른 글
익명 (0) 2020.10.11 상속과 다중 인터페이스 (0) 2020.10.11 다중 상속 (0) 2020.10.11 Interface의 개념 (0) 2020.10.11