관리 메뉴

프로그래밍 삽질 중

While문 설명 및 문제(사칙연산, while+switch) 본문

과거 프로그래밍 자료들/자바(Java)

While문 설명 및 문제(사칙연산, while+switch)

평부 2021. 2. 23. 23:23

※ While문 사용시 주의할 점

- while문은 조건에 따라(true일 때 반복) 반복할지 여부를 결정

- while문 형식

  while(조건식) {

           *조건이 true일 경우

           실행문;

}

 

[문제1]

두 개의 숫자를 입력한 후 연산자 입력시 계산결과를 출력할 것

* +, -, *, / 4개 결과가 모두 나오도록 하라

 

예) 

숫자 1 입력 : 5 

숫자 2 입력 : 4

연산 기호 입력 : +

계산 결과 : 9

 

[문제1 정답]

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
28
29
30
31
32
33
34
35
36
37
import java.util.Scanner;
 
public class While_Arithmetic {
 
    public static void main(String[] args) {
        
        Scanner scan = new Scanner(System.in);
        
        while(true) {
            System.out.println("숫자1 입력 : ");
            System.out.println("숫자2 입력 : ");
            int num1 = scan.nextInt();
            int num2 = scan.nextInt();
            System.out.println("연산 기호 입력 : ");
            String op = scan.next();
            
            int result = 0;
            switch(op) {
            case "+":
                result = num1 + num2;
                break;
            case "-":
                result = num1 - num2;
                break;
            case "*":
                result = num1 * num2;
                break;
            case "/":
                result = num1 / num2;
                break;
            }
            System.out.println("계산 결과 : " + result);
        }
    }
 
}
 
cs

 

[문제2]

양초를 태울 경우 하루에 15cm만큼 사라진다

이에 맞는 식을 작성하라

 

예)

양초 높이를 입력하시오 --> 60cm

최초 양초 높이 : 60cm

1회 사용 시 현재 양초 높이 : 45cm

2회 사용 시 현재 양초 높이 : 30cm

3회 사용 시 현재 양초 높이 : 15cm

4회 사용 시 현재 양초 높이 : 0cm

 

[문제2 정답 - 1번 방법]

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
28
29
30
import java.util.Scanner;
 
public class WhileBus {
 
    public static void main(String[] args) {
        
        Scanner scan = new Scanner(System.in);
        System.out.println("양초 높이를 입력하시오 --> ");
        int height = scan.nextInt();
        System.out.printf("최초 양초 높이 : %dcm\n", height);
        
        int num = 0//횟수 
        while(height>=15) {
           hegiht -= 15;
            num++;
            System.out.printf("%d회 사용 시 현재 양초 높이 : %dcm\n", num, height);
            
            }
            
        }
 
    }
 
cs

 

[문제2 정답 - 2번 방법]

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
28
import java.util.Scanner;
 
public class WhileBus {
 
    public static void main(String[] args) {
        
        Scanner scan = new Scanner(System.in);
        System.out.println("양초 높이를 입력하시오 -->> ");
        int height = scan.nextInt();
        System.out.printf("최초 양초 높이 : %dcm\n", height);
        
        int height2 = 15// 줄어드는 높이
        int num = 0//횟수 
        while(height>=height2) {
           height = height - height2;
            num++;
            System.out.printf("%d회 사용 시 현재 양초 높이 : %dcm\n", num, height);
            
            }
            
        }
cs