JAVA

Test067.java / 실행 흐름의 컨트롤(제어문) - break 실습 / 특정 문자를 입력받지 않으면 프로그램을 종료하는 기능 구현

universedevelope 2022. 8. 27. 00:08
/* ===============================================
	■ ■ ■ 실행 흐름의 컨트롤(제어문) ■ ■ ■	
=================================================*/

// break 실습

// 다음과 같은 처리가 이루어지는 프로그램을 구현한다.

// 단, 입력받은 정수는 1 ~ 100 범위 안에서만
// 가능하도록 작성한다.

// 실행 예)
// 임의의 정수 입력 :  -10

// 임의의 정수 입력 :  0

// 임의의 정수 입력 : 2022

// 입의의 정수 입력 : 10
// >> 1 ~ 10 까지의 합 : 55
// 계속하시겠습니까(Y/N)? : y

// 임의의 정수 입력 : 100
// >> 1 ~ 100 까지의 합 : 5050
// 계속하시겠습니까(Y/N)? : N
// 계속하려면 아무 키나 누르세요... → 프로그램 종료


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

public class Test067
{
	public static void main(String[] args)	throws IOException
	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int a;
		int num;
		int sum;
		char k;

		while (true)
		{


		do
		{


				System.out.print("임의의 정수 입력 : ");
				a = Integer.parseInt(br.readLine());


					
		}
		while (a>=1 ^ a<=100);								// 무한루프 생성

									// ↓↓↓↓↓↓ do~while문 밖에 존재한다.
									// 이후의 시퀀스 이기 때문에


			sum = 0;
			for (num=1; num<=a; num++)
				{
					sum += num;
				}
			System.out.printf("%n>> 1 ~ %d 까지의 합 : %d%n", a, sum);  // 정수합

			System.out.print("계속하시겠습니까(Y/N)? : ");				// Y
			k = (char)System.in.read();
											// NumberFormatException: 문자를 반환못해요
			if(k!='Y' && k!='y')
			{
			// 그만할래 의사표현
			// 반복문을 멈추고 빠져나갈 수 있는 처리 
					// → n 또는 N 입력한거 맞음?
					// → y 또는 Y 입력한거 아닌게 확실??

				// 반복문을 멈추고 빠져나갈 수 있는 코드 작성 필요
				//-- 위와 같은 의사 표현을 했다면
				// 그 동안 수행했던 반복문을 멈추고 빠져나가야 한다.
				break;
				//-- 멈춘다.(그리고 빠져나간다) check!!!!!!!!!!!!!

			}// end of if

			System.in.skip(2);
			System.out.println();



		}// end of while
		









		
	}// end of main()
}// end of class


// 실행 결과

/*
임의의 정수 입력 : 10

>> 1 ~ 10 까지의 합 : 55
계속하시겠습니까(Y/N)? : y
임의의 정수 입력 : 10

>> 1 ~ 10 까지의 합 : 55
계속하시겠습니까(Y/N)? : y
임의의 정수 입력 : 10

>> 1 ~ 10 까지의 합 : 55
계속하시겠습니까(Y/N)? : y
임의의 정수 입력 : 20

>> 1 ~ 20 까지의 합 : 210
계속하시겠습니까(Y/N)? : y
임의의 정수 입력 : 25

>> 1 ~ 25 까지의 합 : 325
계속하시겠습니까(Y/N)? : y
임의의 정수 입력 : 100

>> 1 ~ 100 까지의 합 : 5050
계속하시겠습니까(Y/N)? : n
계속하려면 아무 키나 누르십시오 . . .
*/
728x90