국비지원 JAVA 풀스택 과정/JAVA

[JAVA] 입력받은 두 수 사이의 숫자들을 모두 더하여 총합을 구하기

ODaram 2022. 9. 30. 16:37
입력받은 두 수 사이의 숫자들을 모두 더하여 총합을 구하기

 

입력받은 두 수 사이의 숫자들을 모두 더하여 총합을 구하기

두번째 입력 받은 숫자가 첫번째 숫자보다 작아야함

데이터 : num1 (첫번째 입력값, int), num2 (두번째 입력값, int), sum (총합, int) , Scanner scan

 

> 내가 푼 예제

package com.dream.controls;
import java.util.Scanner;

public class ForEx08 {
	public static void main(String[] args) {
		int num1=0, num2=0, sum=0;
		Scanner sc = new Scanner(System.in);
		
		System.out.println("입력받은 두 수 사이의 숫자들을 모두 더하여 총합을 구하기");
		System.out.print("정수 입력(1) : ");
		num1 = sc.nextInt();
		System.out.print("정수 입력(2) : ");
		num2 = sc.nextInt();
		
//		① 첫번째 입력한 정수가 두 번째 입력한 정수보다 클 경우 제어문을 사용하여 작은 값을 변수 start에 담고 큰 값은 변수 end 에 담는다.
		if(num1 > num2) {	// 첫 번째 입력한 수 보다 두번째 입력한 수가 더 클 경우
			for(int i=num2; i<=num1; i++) {
				sum+=i;
				System.out.print(i+"\t");
			}
			System.out.println("\n첫번째 입력한 값이 더 큽니다.");
			System.out.println(num2+" 와 "+num1+"사이의 숫자들의 총합은 "+sum+" 입니다.");
		}else {
			for(int i=num1; i<=num2; i++) {
				sum+=i;
				System.out.print(i+"\t");
			}
			System.out.println("\n두번째 입력한 값이 더 큽니다.");
			System.out.println(num1+" 와 "+num2+"사이의 숫자들의 총합은 "+sum+" 입니다.");
		}
		
	}
}

 

> 정답

package com.dream.controls;

import java.util.Scanner;

public class ForEx08_Answer {
	public static void main(String[] args) {
		int num1=0, num2=0, sum=0, max=0, total=0;
		Scanner sc = new Scanner(System.in);
		
		System.out.println("입력받은 두 수 사이의 숫자들을 모두 더하여 총합을 구하기");
		System.out.print("정수 입력(1) : ");
		num1 = sc.nextInt();
		System.out.print("정수 입력(2) : ");
		num2 = sc.nextInt();
		
//		③ 첫번째 입력한 정수가 두 번째 입력한 정수보다 클 경우 제어문을 사용하여 작은 값을 변수 start에 담고 큰 값은 변수 end 에 담는다.
		if(num1 > num2) {	// 첫 번째 입력한 수 보다 두번째 입력한 수가 더 클 경우
			max = num1;	// 첫번째 입력받은 정수를 변수 temp 에 복사하여 담는다.
			num1=num2;  // 두번째 입력받은 정수를 변수 start에 복사하여 담는다.
			num2 = max;    // 첫번째 입력받은 정수를 변수 end에 복사하여 담는다.
//			④ for 루프를 사용하여 입력받은 두 수 사이의 수들을 더하여 총합을 구한다.
			for(int i=num1; i<=num2; i++) {	
				total += i; 	// 누적(총합)시킨다.
				System.out.println(i);
			}
//			⑤총합을 출력한다.
			System.out.println("\n"+num1+"에서"+num2+"까지의 총 합은 "+total+" 입니다.");
		}else if (num1 < num2) {	// 5<9
			max=num2;	// max=9
			num2=num1;	//num2=5
			num1=max;		// num1=9
			for(int i=num2; i<=num1; i++) {
				total += i;
				System.out.print(i+"\t");
			}
			System.out.println("\n"+num1+"에서"+num2+"까지의 총 합은 "+total+" 입니다.");
		}else {		//입력값이 같으면 종료한다.
			System.out.println("종료");
		}

	}
}