본문 바로가기

📚Study Note/JAVA

BufferedReader, System.in.read()

 

 

/*
========================================================
■■■■ 변수와 자료형 ■■■■■
- Test010 클래스의 내용을 참고하여
  직사각형의 넓이와 둘레를 구하는 프로그램을 구현한다.
	 - 가로 : 10  ,  세로 :  20
======================================================== */
// 실행 예)
// 넓이 : 
// 둘레 : 
// 계속하려면 아무 키나 누르세요...

public class Test011
{
	public static void main(String[] args)
	{
		 int l = 10;
		 int h = 20;

		 //넓이와 둘레
		 int area, length;
		 area = l*h;
		 length = 2*l + 2*h;
		 System.out.println("넓이  : " + area);
		 System.out.println("둘레 : " + length);
		 

	/*
	[실행결과]
	넓이  : 200
	둘레 : 60
	계속하려면 아무 키나 누르십시오 . . .*/
	}
}
/*====================================================
■■■■ 자바 기본 프로그래밍 ■■■■■
- 변수와 자료형 
- 자바의 기본 입출력 : BufferedReader 클래스
=====================================================*/


//사용자로부터 원의 반지름을 임의의 정수 형태로 입력받아 그 입력받은 반지름을 통해 
//원의 넓이와 둘레를 구하는 프로그램을 구현한다. 

//실행 예)
//원의 반지름 입력 : 120
//넓이 : xxxx.xx
//둘레 : xxxx.xx
//계속하려면 아무 키나 누르세요..

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

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

	{
		//컴퓨터 본체에 키보드 장착 → 문자 입력을 위해서
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		//BufferedReader 클래스 인스턴스 생성
		//br이라는 변수를 선언한 것. br변수가 기본데이터 타입이 아니므로
		//BufferedReader라는 키보드로 입력한 것은 InputStreamReader라는 번역기로 번역하는데
		//만약 이상한 게 입력된다면 IOException 에 의해서 던져진다. throws

		//주요 변수 선언
		int r;
		double a, b; 

		
		//연산 및 처리
		//(1) 사용자에게 안내 메세지를 출력해주어야 한다.
		System.out.print("원의 반지름 입력 : ");	




		//(2) 사용자가 입력한 값(문자열)을  → br.readLine()
		//숫자형(정수형)으로 변환 후        → Integer.parseInt() 
		//반지름 변수 r에 담아내기
		r = Integer.parseInt(br.readLine());
		//r = Integer.parseInt("50");
		//r = 50;
		
		//(3) 넓이 및 둘레 연산
		a=r*r*3.141592;
		b=2*r*3.141592;



		//결과 출력
		System.out.println(">> 넓이 : " + a);
		System.out.println(">> 둘레 : " + b);

		System.out.printf(">> 넓이 : %.2f\n", a);
		System.out.printf(">> 둘레 : %.2f\n", b);

		// .2 로 인해서 소수점 둘째자리까지 표시됨(셋째자리에서 반올림한 결과이다)

	}
	
	
	/*[실행결과]
	원의 반지름 입력 : 50
	>> 넓이 : 7853.9800000000005
	>> 둘레 : 314.1592
	>> 넓이 : 7853.98
	>> 둘레 : 314.16
	계속하려면 아무 키나 누르십시오 . . .
	*/
		
}​

 

/*====================================================
■■■■ 자바 기본 프로그래밍 ■■■■■
- 변수와 자료형 
- 자바의 기본 입출력
=====================================================*/

//삼각형의 밑변의 길이와 높이를 사용자로부터 입력받아
//삼각형의 넓이를 구하는 프로그램을 구현한다.

//실행 예)
//■ 삼각형의 넓이 구하기 ■
// - 삼각형의 밑변 입력 : 
// - 삼각형의 높이 입력 : 

// >> 밑변이 3, 높이가 5인 삼각형의 넓이 : xxxxxx
// 계속하려면 아무 키나 누르세요...

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

public class Test013
{
	public static void main(String[] args) throws IOException 
		{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		//주요 변수 선언
		int underLength, height;
		double area;

		//연산 및 처리(1)사용자안내메시지(2)사용자가입력한 데이터를 정수형태로변환후 변수에담아내기
		//(3)삼각형 넓이 구하는 연산 처리
		System.out.println("♥♥ 삼각형의 넓이 구하기 ♥♥");
		System.out.print("삼각형의 밑변 입력 : " );
		underLength = Integer.parseInt(br.readLine());
		System.out.print("삼각형의 높이 입력 : " );
		height = Integer.parseInt(br.readLine());
		area = underLength * height /2.0;

		System.out.println();
		System.out.printf(">> 밑변이 %d, 높이가 %d인 삼각형의 넓이 : %.2f\n",underLength, height, area);
		

	     }
 /*[출력결과]
 ♥♥ 삼각형의 넓이 구하기 ♥♥
삼각형의 밑변 입력 : 3
삼각형의 높이 입력 : 7

>> 밑변이 3, 높이가 7인 삼각형의 넓이 : 10.50
계속하려면 아무 키나 누르십시오 . . .
*/

}

 

 

/*====================================================
■■■■ 자바 기본 프로그래밍 ■■■■■
- 변수와 자료형 
- 자바의 기본 입출력
=====================================================*/

//사용자로부터 이름과 국어점수, 영어점수, 수학점수를 입력받아
// 이름과 총점을 출력하는 프로그램을 구현한다.

//실행 예)
// 이름을 입력하세요 :
// 국어 점수 입력 :
// 영어 점수 입력 : 
// 수학 점수 입력 :

// ===[결과]===
// 이름 : 박나현
// 총점 : 240
// ============
//계속하려면 아무 키나 누르세요...	

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

public class Test014
{
	public static void main(String[] args) throws IOException
	
	{
		InputStreamReader isr = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(isr);

		String strName; //이름
		int nKor, nEng, nMath, nTot;//국,영,수,총점

		//추가 변수 선언(문자열 데이터 임시 저장)
		String strTemp;
		//연산 및 처리
		//-사용자에게 안내 메시지 출력

		System.out.print("이름을 입력하세요 :");
		

		// 사용자가 입력한 값(외부 데이터)을 변수에 담아내기

		strName = br.readLine();
		// 사용자에게 안내 메세지 출력(국어점수 입력 안내)
		System.out.print("국어 점수 입력 : ");
		strTemp = br.readLine();				// -- 문자열 임시 저장(BufferedReader로 읽어낸 값은 문자열 형태) "90"
		nKor = Integer.parseInt(strTemp);		// -- 임시 저장 데이터 형 변환 후
												// -- 국어점수 변수에 담아내기

		System.out.print("영어 점수 입력 " );
		strTemp = br.readLine();
		nEng  = Integer.parseInt(strTemp);

		System.out.print("수학 점수 입력: ");
		strTemp = br.readLine();
		nMath = Integer.parseInt(strTemp);
		
		// 입력된 데이터들을 종합하여 총점 산출하기
		nTot = nKor + nEng + nMath;

		//결과출력		
		System.out.println("\n====[결과]====");
		System.out.println("이름 : " + strName);
		System.out.println("총점 : " + nTot);
		System.out.println("===============");

		/*[결과]
		이름을 입력하세요 :이유림
		국어 점수 입력 : 90
		영어 점수 입력 80
		수학 점수 입력: 70

		====[결과]====
		이름 : 이유림
		총점 : 240
		===============
		계속하려면 아무 키나 누르십시오 . . .
		*/
		
	}
}
/*====================================================
■■■■ 자바 기본 프로그래밍 ■■■■■
- 자바의 기본 입출력 : System.in.read()
=====================================================*/

/*
※ 『System.in.read()』메소드는 한 문자만 가져온다.
단, 하나의 문자를 입력받아 입력받은 문자의 ASCII Code 값을 반환하게 된다.
A → 65  a → 97 */

//실행 예)
//한 문자 입력 : G
//한 자리 정수 입력 : 7

//>> 입력한 문자 : G
//>> 입력한 정수 : 7
//계속하려면 아무 키나 누르세요...
//package system;
import java.io.IOException;
public class Test015
{
	public static void main(String[] args) throws IOException 
		{
			/*
			System.out.print("입력 : ");
			int anum = System.in.read();
			System.out.println("출력 :	" + anum);


			char a;
			
			System.out.print("한 문자 입력 : ");

			//str1 = System.in.read();
			System.out.print("한 자리 정수 입력 : ");

			System.out.println(">> 입력한 문자 : ");
			System.out.println(">> 입력한 숫자 : ");

			*/




			// ○ 주요 변수 선언

			char ch;		// 입력받은 문자를 담을 변수
			int n;			// 입력받은 정수를 담을 변수


			// ○ 연산 및 처리

			// 사용자에게 안내 메세지 출력
			System.out.print("한 문자 입력 : ");            //G → 71

			//  한 문자 입력 : 'G' + 엔터
			//                      -------
			//                      ←↓     『\r』 +  『\n』

			// 사용자의 입력값을 문자형으로 변환한 후 변수 ch 에 담아내기
			ch = (char)System.in.read();
		//        (char)71 → G
			// ※ 입력 대기열에 남아있는 『\r』 『\n』을 스킵(건너뛰기, 버리기)
			System.in.skip(2);
			//→ 두 글자를 읽지 않고 건너뛴다.(버린다.)

	

			// 사용자에게 안내 메세지 출력
			System.out.print("한 자리 정수 입력 : ");
			// 사용자 입력값을 변수n 에 담아내기
			n = System.in.read();		//0 → 48
										//1 → 49
										//7 → 55
										//9 → 57


			n-=48;

			// ○ 결과 출력
			System.out.println();
			System.out.println(">> 입력한 문자 : " + ch);
			System.out.println(">> 입력한 정수 : " + n);

			/*[실행결과]
			한 문자 입력 : G
			한 자리 정수 입력 : 7

			>> 입력한 문자 : G
			>> 입력한 정수 : 7
			계속하려면 아무 키나 누르십시오 . . .*/
		}
		
}