JAVA/java 문제

[자바JAVA] 반복문 - while문으로 숫자 계속 입력받아 공배수인지 확인하기

자바칩 프라푸치노 2020. 10. 4. 17:27

문제 - 더보기 클릭

하나의 숫자를 입력받아 2와 3의 배수가 아니면 계속 while문을 돌고

2와 3의 배수이면 프로그램 종료하기

while문 사용

더보기

하나의 숫자를 입력받아 아래와 같이 출력되는
프로그램을 작성하시오.

타입 변수명 기타
int  num

조건 : 무한루프 돌면서 체크하는 프로그램 while true


출력결과
하나의 정수를 입력하세요 :55
55은 2와 3의 배수가 아닙니다..
하나의 정수를 입력하세요 :100
100은 2와 3의 배수가 아닙니다..
하나의 정수를 입력하세요 :33
33은 2와 3의 배수가 아닙니다..
하나의 정수를 입력하세요 :12
12은 2와 3의 배수입니다.
프로그램 종료!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.Scanner;
 
public class 문제8 {
 
    public static void main(String[] args) {
 
        Scanner scanner = new Scanner(System.in);
        System.out.print("하나의 정수를 입력하세요: ");
        int num = scanner.nextInt(); //하나의 정수 입력
            
            while(true) {
                if(num%2 == 0 && num%3 == 0) { // 2와 3의 공배수일때를 지정
                    System.out.println(num +"은" + "2와 3의 배수입니다.");
                    System.out.println("프로그램 종료!");
                    break//이 상황에서 프로그램을 종료하겠다는 break문
                }
            
                System.out.println(num +"은" + "2와 3의 배수가 아닙니다."); 
                System.out.print("하나의 정수를 입력하세요: "); //아니면 또 계속 무한으로 이 문구가 나와야하기 때문에 다시 입력창을 설정해줌.
                num = scanner.nextInt(); //하나의 정수 입력
            }
            
        scanner.close();
        
    }
 
}
cs

1) 스캐너로 숫자를 입력받습니다.

 

2) 무한루프를 돌리기위해 while문을 사용합니다.

while문은 무한으로 돌기 때문에 무조건 break조건을 걸어주어야합니다.

2와 3의 공배수이면

break하도록 했습니다.

if문에 걸리지 않는다면 

계속 while문 안의 문장을 출력하고

또 num을 입력받습니다.

 

출력되었습니다.

728x90