본문 바로가기
Study Note/Java

JAVA_ Test064_ 제어문 (break) 실습 / 원할때까지 1~입력값까지 합을 구해주는 프로그램

by 시뮝 2018. 4. 15.
728x90


Test064  제어문 (break) 실습 / 원할때까지 1~입력값까지 합을 구해주는 프로그램

※ 실습 문제
   아래와 같은 처리가 이루어지는 프로그램을 구현한다.
   단, 입력받는 정수는 1 ~ 1000 범위 안에서만 가능하도록 작성한다.
   
   실행 예)
   임의의 정수 입력 : -10
   임의의 정수 입력 : 0
   임의의 정수 입력 : 2018
   임의의 정수 입력 : 10
   >> 1 ~ 10 까지의 합 : 55
   계속 하시겠습니까?(Y/N) : y

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

Test064.java

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.IOException;


public class Test064

{

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

{

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


//주요변수선언

int n, s, i;

char ch;

while (true)

{

do

{

System.out.print("\n임의의 정수 입력 : ");

n = Integer.parseInt(br.readLine()); // BufferedReader에는 엔터 스킵이 내장되어있다.

} while (n<1 || 1000<n);

s=0;

for (i=1; i<=n; i++)

s+=i;


System.out.printf(">> 1 ~ %d 까지의 합 : %d\n", n, s);

System.out.print("계속 하시겠습니까?(Y/N) : ");

ch = (char)System.in.read();

System.in.skip(2); //System.inread()는 엔터가 스킵되지않기 때문에 스킵처리를 해줘야 에러가 나지않는다.


//  ch!='y' && ch!='Y'   ← 모두 부정으로 바뀔 경우 논리연산자도 바뀐다.

//          ↓

//  ch=='y' || ch=='Y'


if (ch!='y' && ch!='Y')

{

// 반복문을 빠져나갈 수 있는 코드 작성 필요

//-- 위와 같은 의사 표현을 했다면

//   그동안 수행했던 반복을 멈추고 빠져나가야 한다.

break;

//-- 멈춘다. 그리고 빠져나간다.         check~!!

}

}//end while

}

}


cmd


임의의 정수 입력 : 50

>> 1 ~ 50 까지의 합 : 1275

계속 하시겠습니까?(Y/N) : y


임의의 정수 입력 : 20

>> 1 ~ 20 까지의 합 : 210

계속 하시겠습니까?(Y/N) : y


임의의 정수 입력 : -10


임의의 정수 입력 : 0


임의의 정수 입력 : 1

>> 1 ~ 1 까지의 합 : 1

계속 하시겠습니까?(Y/N) : n

계속하려면 아무 키나 누르십시오 . . .







728x90

댓글