문풀/코드업

[코드업] 1079_원하는 문자가 입력될 때까지 반복 출력하기

Le마리 2024. 7. 20. 18:13

 

import java.util.Scanner;
public class Main {
	
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		
		while(true) {
			
			String S = sc.next();
			
			System.out.println(S);
			if(S.equals("q")) {
				break;
			}
			
		}
		
	}

}

 

 

 

 

 

 

 

while 밖에서 입력받는 경우

 

import java.util.Scanner;
public class Main {
	
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		
		while(true) {
			
			String S = sc.next();
			
			System.out.println(S);
			if(S.equals("q")) {
				break;
			}
			
		}
		
	}

}

 

💡 이 코드에서는 사용자로부터 입력을 한 번만 받아서 S 변수에 저장한다. 그 후, while 루프가 계속

      해서 같은 값을 출력하기 때문에 입력을 한 번만 받고 무한히 출력하게 된다. 즉, 루프 안에서 새로운

      입력을 받지 않기 때문에 처음 입력된 값만 반복적으로 출력되는 것이다.

 

 

 

 

 

루프 안에서 입력받는 경우

 
package Examples;

import java.util.Scanner;

public class Ex_1079 {
    
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        
        while(true) {
            String S = sc.next(); // 루프 안에서 매번 입력 받음
            System.out.println(S); // 입력된 값을 출력
            if(S.equals("q")) { // 입력된 값이 "q"인지 확인
             System.out.println("입력 종료")
                break; // "q"이면 루프 종료
            }
        }
        
        sc.close();
    }
}

 

💡 이 코드에서는 while 루프가 반복될 때마다 사용자로부터 새로운 입력을 받는다. 그래서 사용자가 문자를 입력할 때마다 새로운 값이 S 변수에 저장되고, 그 값이 출력된다. 루프는 계속해서 새로운 입력을 기다리며, 사용자가 입력한 값을 출력하다가, 입력된 값이 "q"일 때 루프를 종료한다.

 

 

 

 

 

-- 결과 --