[JAVA] 입력받은 수 중에서 배수의 합 구하기

2021. 10. 22. 21:21Web/JAVA

728x90

 

사용자가 입력한 수 중에서 특정 배수의 합을 구할 건데요.

 

예를 들어 사용자가 입력한 수가 9 라 가정했을 때 3의 배수의 합을 구한다면

 

9 중에서 3의 배수는 

 

3 , 6 , 9 가 됩니다.

 

따라서 배수의 합인 3 + 6 + 9 = 18 을 구하는 것입니다.

 


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        int num = scanner.nextInt();
        int sum = 0;
        
        for(int i = 1; i <= num; i++) {
            if(i % 3 == 0) {
                sum += i;
            }
        }
        System.out.println("result : " + sum);
    }
 
}
 
cs

 


 

Scanner() (6번 라인)

 

JAVA의 대표적인 입력방식으로 C언어의 scanf(), 파이썬의 input() 등과 같은 개념입니다.

 

먼저 Scanner를 사용할 땐 import를 해 줘야 합니다.(1번 라인)

 

다음으로 객체를 생성해줘야 합니다.

 

객체 생성 방법은 아래와 같습니다.

 

1
2
클래스_이름 객체_이름 = new 클래스_이름();
 
cs

 

그런데 위에 소스에선 클래스 이름 뒤에 System.in 이 들어가는데요.

 

System.in 은 사용자로부터 입력을 받기 위해 사용합니다.

 

 

int num = scanner.nextInt(); (8번 라인)

nextInt 입력 메소드로 다음 토큰을 int 타입으로 리턴합니다.

 

 

int sum = 0; (9번 라인)

배수의 합이 들어갈 sum 변수에 초깃값으로 0을 줍니다.

 

 

for(int i = 1; i <= num; i++) (11번 라인)

반복문인 for문으로 시작값은 1,

끝값은 사용자가 입력한 값과 같거나 클 때까지, 

증가값은 1씩 증가하도록 합니다.

 

 

if(i % 3 == 0) (12번 라인)

반복을 거치면서 3으로 나누었을 때 0이 되는 값(3의 배수)이 있는지 판별합니다.

 

 

sum += i; (13번 라인)

위에서 판별한 3의 배수를 sum 변수에 더합니다.