Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

Everything has an expiration date

071, CircleTest - Java 클래스와 인스턴스 : 원의 클래스 설계, Test71 클래스에서 CircleTest에 선언된 메소드들로 원의 넓이와, 둘레를 구해 출력하는 프로그램. 본문

[Java]/Program source (java)

071, CircleTest - Java 클래스와 인스턴스 : 원의 클래스 설계, Test71 클래스에서 CircleTest에 선언된 메소드들로 원의 넓이와, 둘레를 구해 출력하는 프로그램.

Jelly-fish 2023. 9. 4. 15:03
[CircleTest.java]
/*========================================
	■■■ 클래스와 인스턴스 ■■■
=========================================*/

// ※ Test071.java 파일과 한 세트~!!!

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

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

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

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


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;


public class CircleTest
{
	// 주요 속성(데이터, 상태) → 멤버 변수
	int r;						//-- 반지름
	final double PI = 3.141592;	//-- 원주율(변수의 상수화)
	

	// 주요 기능(동작, 행위)   → 멤버 메소드
	
	// 반지름 입력 기능

	// 예외를 발생시킬 수 있는 곳에 반드시 IOException을 넣어 주어야 한다.
	// input() 메소드도, 외부로부터 입력을 받아오기 때문에 IOException을 넣어 주어야 한다.
	void input() throws IOException
	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		System.out.print("반지름 입력 : ");
		r = Integer.parseInt(br.readLine());

	}
	
	// 넓이 계산 기능
	double calArea()
	{
		// 원의 넓이 = 반지름 * 반지름 * 3.141592
		return r * r * PI;
	}

	// 둘레 계산 기능

	double calLength()
	{
		// 원의 둘레 = 반지름 * 2 * 3.141592
		double result;
		
		result = 2 * PI * r;

		return result;
	}

	// 결과 출력 기능 
	void print(double a, double l)
	{
		// >> 반지름이 xxx 인 원의
		// >> 넓이 : xxxx.xx
		// >> 둘레 : xxxx.xx

		System.out.printf("\n>> 반지름이 %d인 원의\n", r);
		System.out.printf(">> 넓이 : %.2f\n", a);
		System.out.printf(">> 둘레 : %.2f\n", l);
	}

}


/*[내가 한 풀이]==========================================================

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;



public class CircleTest	
{
	int r;		//>> 사용자의 반지름 입력값.

	void input()	throws IOException
	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		System.out.print("반지름 입력 : ");
		r = Integer.parseInt(br.readLine());
		
	}

	double circleArea()
	{
		double result;
		
		result = r * r * 3.141592;

		return result;
	}

	double circleLength()
	{
		double result;
		
		result = 2 * 3.141592 * r;

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


	void print(double a, double b)
	{
		System.out.printf("\n>> 반지름이 %d 인 원의", r);
		System.out.printf("\n>> 넓이 : %7.2f", a);
		System.out.printf("\n>> 둘레 : %7.2f\n\n", b);
	}
	
}

==========================================================================*/

 

 

Test071.java
/*========================================
	■■■ 클래스와 인스턴스 ■■■
=========================================*/

// ※ Test071.java 파일과 한 세트~!!!

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

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

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

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

// default 패키지에 전체 자바 소스를 두고 사용 중이기 때문에 별도의 import문 필요 없다.


import java.io.IOException;

public class Test071
{
	public static void main(String[] args) throws IOException
	{
		// CircleTest 클래스 기반의 인스턴스 생성
		// CircleTest 인스턴스 생성
		// CircleTest 객체 생성

		CircleTest ob = new CircleTest();

		ob.input();
				// 【 public static void main(String[] args) throws IOException 】
				//───────────────────────────────────
				// input() 메소드에서 입력 받을 때 발생했던 예외 상황을 밖으로 던졌는데,
				// input() 메소드를 main() 메소드에 다시 불러들이면서
				// 그 예외상황이 다시 main() 메소드에 들어오게 된 것!

				// 따라서, main() 메소드에서도 예외상황을 처리하는 IOException을 다시
				// 추가적으로 작성해 주어야 한다.
				//───────────────────────────────────
		double num1 = ob.calArea();
		double num2 = ob.calLength();

		ob.print(num1, num2);
	}
}

// 실행 결과

/*
반지름 입력 : 254

>> 반지름이 254인 원의
>> 넓이 : 202682.95
>> 둘레 : 1595.93
계속하려면 아무 키나 누르십시오 . . .
*/



/*[내가 한 풀이]===============================================

import java.io.IOException;



public class Test071
{
	public static void main(String[] args) throws IOException
	{

		CircleTest ob = new CircleTest();

		ob.input();

		double area = ob.circleArea();

		double length = ob.circleLength();

		ob.print(area, length);


	}
}
================================================================*/