JAVA

Test073.java - CircleTest.java / 클래스와 인스턴스 / 원의 넓이와 둘레 구하기

universedevelope 2022. 9. 9. 16:58

● Test073.java

/*=============================
■■■ 클래스와 인스턴스 ■■■ 
=============================*/

// CircleTest.java 와 세트
// public class 를 두개 생성

// 원의 넓이와 둘레 구하기
// 원의 넓이와 둘레를 구할 수 있는 클래스를 설계한다.
// (클래스명 : CircleTest) → CircleTest.java
// BufferedReader 의 readLine()

// 원의 넓이 = 반지름 * 반지름 * 3.141592
// 원의 둘레 = 반지름 * 2 * 3.141592

// 실행 예)
// 반지름 입력 : xx

// >> 반지름이 xx 인 원의
// >> 넓이 : xxx.xx
// >> 둘레 : xxx.xx
// 계속하려면 아무 키나 누르세요..

import java.io.IOException;

public class Test073
{
	public static void main(String[] args) throws IOException
	{	
		// CircleTest 인스턴스 생성
		// 혹은 CircleTest 객체 생성
		CircleTest ct = new CircleTest();
		
		// 입력메소드 호출
		ct.input();

		// 넓이와 둘레 담기
		double a = ct.calArea();
		double l = ct.calLength();
		

		// 최종 결과 출력메소드 호출

		ct.print(a, l);

	}
}

 

● CircleTest.java

// public class 를 두개생성
// Test073 파일과세트
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class CircleTest	
{
	// 멤버 변수를 생각해내고 주요 속성을 뽑아보자.
	// 원은 반지름이 있다.
	// ↓	// 원에는 원주율이 있다. 3.141592
	// ↓       ↓ 
	int r;  //  ↓
	final double PI = 3.141592;
// 반지름 변수와 상수 PI 선언, PI는 언제나 동일해야하기 때문에 PI는 final로 선언
	
	// 멤버 메소드 → 주요 기능(동작, 행위)
	// 반지름 입력기능 → 메소드 정의
	
	void input() throws IOException
	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		System.out.print("반지름 입력 : ");
		r = Integer.parseInt(br.readLine());
	}
	

	// 넓이 계산 기능 → 메소드 정의
	double calArea()
	{
		double	 a;
		a = r * r * PI;
		return a;	
	}

	// 둘레 계산 기능 → 메소드 정의

	double calLength()
	{
		double a;

		a = 2 * PI * r;
		return a;
	}

	// 결과출력 기기능 → 메소드 정의
	void print(double a, double l)
	{
		System.out.printf("%n >> 반지름이 %d인 원의%n", r);
		System.out.printf(" >> 넓이 : %.2f%n", a);
		System.out.printf(" >> 둘레 : %.2f%n", l);
	
	}

}
728x90