본문 바로가기

자바/문법

do~ while과 for문을 이용한 프로그램

예제) 


import java.io.IOException;

import java.io.InputStreamReader;

import java.io.BufferedReader;


public class Test5{

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

BufferedReader br=new BufferedReader(

new InputStreamReader(System.in));


char ch;

int num;

int s;

while(true) {

do{

System.out.print("수 ?");

num=Integer.parseInt(br.readLine()); //리드라인은 엔터입력을 버린다.

}while (num<1 || num>1000);  // 1에서 1000까지의 수를 입력받는다


s=0;

for(int n=1;n<=num;n++)

s+=n;

System.out.printf("1~%d까지 합 : %d\n", num, s); //1~입력 받은 수까지의 합을 구한다.


System.out.print("\n또 할래[Y/N]?");

// 또 할래[Y/N]? y[엔터] -> 3자입력 (엔터는 라인피드(다음 줄로 이동)와 케리지리턴(맨 앞칸으로 이동)을 실행하므로 2글자로 취급)

ch=(char)System.in.read();  // 1자만 읽어낸다.

System.in.skip(2);  // 버퍼에 남아있는 글자 2자를 버린다.(결과적으로 프로그램 에러없이 실행)


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

break;

}

}

}


결과) 수를 입력하면 1에서 부터 입력한 수까지의 합을 출력한 후 '또 할래[Y/N]' 출력으로 반복 혹은 종료를 선택할 수 있는 프로그램.


수 ?10

1~10까지 합 : 55


또 할래[Y/N]?

'자바 > 문법' 카테고리의 다른 글

label을 이용한 break문  (0) 2013.05.09
switch ~ case문  (0) 2013.05.09
for문 안의 for문(별 표 찍기)  (0) 2013.05.09
for 문  (0) 2013.05.09
do~while 문법  (0) 2013.05.09