단국대학교 응용컴퓨터공학과 자바프로그래밍1 (2016년 가을학기) 실습
과목코드 : 514760-1
날짜: 2016년 9월 22 일
geometry (source code 9/29)
– 실습번호 : HW1 (Due by 9/29) (10/5 까지 연장)
– 실습제목 : enum, if/switch, do/while, for, read/print
– 실습요약 : 도형의 겉넓이와 부피 구하기 (SurfaceAreaVolumeCalculator)
– 준비자료 :
http://math.about.com/od/formulas/ss/surfaceareavol.htm
수업블로그에 2.Basic 안에 BankAccount 클래스와 TemperatureConverter 클래스 참고할것
– 실습문제
- SurfaceAreaVolumeCalculator 클래스를 작성한다.
- enum Geometry { SPHERE(1), CONE(2), CYLINDER(3), RECTANGULAR_PRISM(4), SQUARE_PYRAMID(5), ISOSCELES_TRIANGULAR_PRISM(6) }
- void printAllGeometry()는 각 도형마다 도형의 겉넓이와 부피 값을 콘솔창에 출력한다.
+ double calculateSurfaceArea(Geometry type)는 도형(SPHERE/CONE/..)의 겉넓이를 계산함.
+ double calculateVolume(Geometry type)는 도형의 부피를 계산함.
+ for(int i=1; i<=10; i++)를 사용하여 크기에 따른 각 도형의 넓이를 표로 출력함.
- void getKeyboardInput()은 콘솔창에서 사용자 입력을 받아서 처리한다.
+ Geometry getUserInputGeometry()은 콘솔창 사용자 입력에서 도형(SPHERE/CONE/..)을 판별한다.
do/while 문을 사용하여 잘못 입력된 도형일 경우, 다시 사용자 입력을 받음.
+ double getUserInputDouble()는 콘솔창 사용자 입력에서 double 값이 아니면 다시 재입력함.
do/while 문을 사용하여 double 아닌 잘못 입력된 값이면 다시 입력을 받음.
+ void getAdditionalUserInput(Geometry type)는 콘솔창 사용자 입력에서 각 도형마다 추가적인 정보를 요청하여 입력함.
예시: 먼저 도형을 선택하고 나면 (e.g. SPHERE/CONE/..), 각 도형에 따른 추가적인 입력을 받음. (e.g., 구의 반지름/radius, 원뿔의 반지름/radius와 높이/height)
- 본인의 원하는 메소드나 루틴을 더 추가한다. 예를 들어 다른 도형의 넓이(또는 부피) 계산 등. 위의 코드로 프로그램을 작성하고, 실행 화면과 코드를 첨부하시오.