Notice
Recent Posts
Recent Comments
Link
Everything has an expiration date
051 - Java 반복문 while을 이용해, 사용자로부터 입력 받은 두 정수 중 작은 값부터 큰 값까지의 누적합 연산 결과를 출력하는 프로그램 본문
[Java]/Program source (java)
051 - Java 반복문 while을 이용해, 사용자로부터 입력 받은 두 정수 중 작은 값부터 큰 값까지의 누적합 연산 결과를 출력하는 프로그램
Jelly-fish 2023. 8. 31. 13:41/*=========================================
■■■ 실행 흐름의 컨트롤(제어문) ■■■
- 반복문(while문) 실습 및 관찰
===========================================*/
// 사용자로부터 임의의 두 정수를 입력받아
// 입력받은 두 정수 중
// 작은 수 부터 큰 수 까지의 합을 구하여
// 결과를 출력하는 프로그램을 구현한다.
// 실행 예)
// 첫 번째 정수 입력 : 100
// 두 번째 정수 입력 : 200
// >> 100 ~ 200 까지의 합 : xxxxx
// 계속하려면 아무 키나 누르세요...
// 첫 번째 정수 입력 : 1000
// 두 번째 정수 입력 : 2
// >> 2 ~ 1000 까지의 합 : xxxxx
// 계속하려면 아무 키나 누르세요...
// 첫 번째 정수 입력 : 10
// 두 번째 정수 입력 : 10
// >> 10 ~ 10 까지의 합 : 10
// 계속하려면 아무 키나 누르세요...
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test051
{
public static void main(String[] args) throws IOException
{
// 주요 변수 선언
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n; //-- 루프 변수로 활용할 변수
int su1, su2; //-- 첫 번째, 두 번째 사용자 입력값을 담아낼 변수
int result = 0; //-- 누적합을 담아낼 변수
// 연산 및 처리
System.out.print("첫 번째 정수 입력 : ");
su1 = Integer.parseInt(br.readLine());
System.out.print("두 번째 정수 입력 : ");
su2 = Integer.parseInt(br.readLine());
// 입력받은 두 수의 크기 비교 및 자리 바꿈
// 즉, su1 이 su2 보다 큰 경우 두 수의 자리를 바꿀 수 있도록 처리
if (su1 > su2)
{
// 자리 바꿈
su1 = su1 ^ su2;
su2 = su2 ^ su1;
su1 = su1 ^ su2;
}
// 반복 연산 수행
// 반복 연산을 수행하기 전에
// 작은 수를 따로 저장하여 루프 변수로 활용한다.
// (결과 출력 과정에서 입력받은 작은 수가 필요한데...
// 그 수를 반복 과정에서 사용하게 되면...
// 원래 처음 입력된 값을 확인할 수 없기 때문에...)
n = su1;
while (n <= su2)
{
result += n;
n++;
}
// 결과 출력
System.out.printf(">> %d ~ %d 까지의 합 : %d\n", su1, su2, result);
}
}
// 실행 결과
/*
첫 번째 정수 입력 : 1
두 번째 정수 입력 : 100
>> 1 ~ 100 까지의 합 : 5050
계속하려면 아무 키나 누르십시오 . . .
*/
/* [내가 한 풀이]========================================================
public class Test051
{
public static void main(String[] args) throws IOException
{
// 1. 변수 선언
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a, b;
int startNum, finalNum;
int i; // startNum 값을 대입해서 1씩 증가시킬 루프 변수.
int sum = 0;
// 2. 사용자로부터 입력 받기
System.out.print("첫 번째 정수 입력 : ");
a = Integer.parseInt(br.readLine());
System.out.print("두 번째 정수 입력 : ");
b = Integer.parseInt(br.readLine());
// 3. 입력받은 a, b 중 어떤 것이 더 큰지를 판별.
if (a < b) // a가 b보다 작다.
{
// ▶true : ◎start = a ◎final = b
startNum = a;
i = startNum;
finalNum = b;
}
else // a가 b보다 크다.
{
// ▶false : ◎start = b ◎final = a
startNum = b;
i = startNum;
finalNum = a;
}
// 4. while 문을 통해 start ~ final 까지의 누적합 연산 수행하기.
while (i <= finalNum)
{
System.out.println( "[startNum] : " + i + " [finalNum] : " + finalNum);
sum += i;
i++;
System.out.println( "[sum] : " + sum);
}
// 5. 결과 출력하기
// 첫 번째 정수 입력 : 1000
// 두 번째 정수 입력 : 2
// >> 2 ~ 1000 까지의 합 : xxxxx
// 계속하려면 아무 키나 누르세요...
System.out.printf("\n>> %d ~ %d 까지의 합 : %d\n", startNum, finalNum, sum);
}
}
==========================================================*/
'[Java] > Program source (java)' 카테고리의 다른 글
054 - Java do~while문 실습 (0) | 2023.08.31 |
---|---|
053 - Java 반복문 while을 이용하여, 사용자에게 입력 받은 정수(1~9)의 구구단을 출력하는 프로그램 (0) | 2023.08.31 |
050 - ★ Java 반복문 while을 이용하여 사용자가 입력한 정수 값이 소수인지 아닌 지를 판별하는 프로그램 (0) | 2023.08.31 |
049 - Java 반복문 while을 이용하여 누적곱 연산 결과를 출력하는 프로그램 (0) | 2023.08.31 |
048 - Java 반복문 while을 사용하여 1/2 + 2/3 + 3/4 + … + 9/10까지의 누적합을 출력하는 프로그램 (0) | 2023.08.31 |