📚 Study/Java

JAVA :: Test055_반복문 do~while (입력 받은 여러개의 정수의 합을 출력하는 프로그램 구현)

bono-hye 2023. 9. 9. 00:55

○ 실습
사용자로부터 여러 개의 양의 정수를 입력받고
그 합을 계산하여 출력하는 프로그램을 구현한다.
단, 사용자에 의해 -1이 입력되는 순간
입력 행위를 중지하고
그동안 입력된 정수들의 합을 출력해주는 프로그램을 구현한다.
즉, -1을 입력 중지 커맨드로 활용한다.
do~while  문을 활용하여 문제를 해결할 수 있도록 한다.
 
실행 예)
1번째 정수 입력(-1 종료) : 10
1번째 정수 입력(-1 종료) : 5
1번째 정수 입력(-1 종료) : 8
1번째 정수 입력(-1 종료) : 9
1번째 정수 입력(-1 종료) : 1
1번째 정수 입력(-1 종료) : 1
1번째 정수 입력(-1 종료) : -1.
 
>> 현재까지 입력된 정수의 합 : 34
계속하려면 아무 키나 누르세요...
 
1번째 정수 입력(-1 종료) : -1
>> 현재까지 입력된 정수의 합 : 0
 
▼ 내가 작성한 코드

import java.util.Scanner;

public class Test055
{
	public static void main(String[] args)
	{

		Scanner sc = new Scanner(System.in);

		int num;
		int n=1;
		int sum=0;

		do
		{
			System.out.printf("%d번째 정수 입력(-1 종료) : ", n);
			num = sc.nextInt();
			n++;

			if (num==-1)
			{
				break;
			}
			else
				sum += num;
		}
		while (n!=-1);
			System.out.printf(">> 현재까지 입력된 정수의 합 : %d\n", sum);
	}
}

▼ 같이 작성한 코드

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

public class Test055
{
	public static void main(String[] args) throws IOException
	{
		// 주요 변수 선언 및 초기화
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int num;				//-- 사용자의 입력값을 담아낼 변수
		int sum=0;				//-- 누적합을 담아낼 변수
		int n=1;				//-- 루프 변수로 활용하여 몇 번째 입력값인지를 담아낼 변수

		// 연산 및 처리
		
		do
		{
			System.out.printf("%d번째 정수 입력(-1 종료) : ",n);
			num = Integer.parseInt(br.readLine());
			sum += num;				//-- sum 을 num 만큼 증가~!!!!

			n++;
		}
		while (num!=-1);		//-- num이 -1이 아닐 경우 (계속해서 반복)

		System.out.printf("\n>> 현재까지 입력된 정수의 합 : %d%n", sum+1);

	}
}