JAVA/java 문제

[자바JAVA] 반복문 - 스피드를 계속 증속, 감속 한다. while문 사용, if문

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

문제 - 스피드를 계속 증속이나 감속한다.

while문 사용

전체 코드입니다.

 

 

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
38
39
40
41
42
43
44
45
46
47
package sec02_verify;
 
import java.util.Scanner;
 
public class 문제6_1 {
 
    public static void main(String[] args) {
 
        boolean run = true;
        int speed = 0//현재속도를 0으로 초기화 했다.
        int keyCode = 0//선택
        
        Scanner scanner = new Scanner(System.in);
        
        
        
        while (run) { //무한루프를 돌리겠다. run이 true일때 계속 실행하겠다는 뜻. true니까 계속 실행함.
            System.out.println("-----------------------------");
            System.out.println("  1.증속 | 2.감속 | 3.중지");
            System.out.println("-----------------------------"); // 옵션 보여주는 창
            
            System.out.print("선택: ");
            keyCode = scanner.nextInt(); //먼저 숫자를 입력할 수 있는 곳
            
            if (keyCode == 1) {
                speed ++;
                
            }
             else if (keyCode == 2) {
                 speed--;
                    
            
            }
             else if (keyCode == 3){
                
                break//3이 입력되면 프로그램 종료라는 문구와 함께 빠져나간다.
            }  // while문은 여기까지 반복이 된다. 
            System.out.println("현재속도 = " + speed); // while문에서 break를 만나지 않으면 이 문구를 출력한다.
        }
        System.out.println("프로그램 종료"); //break만나면 while문 밖에 있는 이 문구를 출력한다.
        
            scanner.close();
        
    }
 
}
 
cs

1) 변수를 선언과 초기화 해줍니다.

 

2) run이 true이니까

while(true)일때 계속 돈다는 뜻입니다.

계속해서 

1. 증속, 2. 감속, 3. 중지가 나와줘야합니다.

그리고 keyCode를 입력받습니다.

증속할건지 감속할건지 중지할건지

 

3) while문안에 if문을 사용합니다.

switch문을 사용하여도 됩니다.

while문은 무한루프이기 때문에 무조건 빠져나갈 구멍을 만들어주어야합니다.

여기서는 keyCode가 3일때 while문이 break됩니다.

 

4) while문 안에 있을때는 if문을 거치고 나서 

현재속도 = speed를 출력해주고

break를 만나 while문이 끝나게 되면

while문 바깥에서 프로그램 종료를 외칩니다.

 

프로그램 종료는 저 코드에서 break; 위에

와도 됩니다.

 

출력결과입니다.

728x90