Coding/JAVA

[JAVA]Scanner로 간단한 프로그램 만들기

민톨이 2024. 3. 19. 23:40
728x90

1단계:  Scanner 호출 

Scanner scanner = new Scanner(System.in);
import java.util.Scanner;

 

그럼 class명 위에 이렇게 자동 import 된다.


예제1) "exit"입력 시 자동 종료되는 프로그램 실행

// 사용자가 입력한 문자열을 그대로 출력하는 예제를 만들어보자
// exit 라는 문자가 입력되면 프로그램을 종료한다.
// 프로그램은 반복해서 실행된다.
import java.util.Scanner;

public class ScannerWhile1 {
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        while(true) {
            System.out.print("문자열을 입력하세요(exit: 종료):");
            String str = scanner.nextLine();
            if(str.equals("exit")) { // 문자열은 equals() 사용
                System.out.println("프로그램을 종료합니다.");
                break;
            }
            System.out.println("입력한 문자열: " + str);
            // while (true): 중간에 break 문을 만나기 전까지 무한 반복
            // 입력 받은 문자가 "exit"이면 프로그램을 종료 - while문 빠져나감
        }
    }
}

 

1. while 반복문 (무한루프) 을 만든다

2. 반복문 내에 String str 변수로 scanner.nextLine()을 호출한다

3. if조건문을 만들어서 "exit"을 입력하면 프로그램을 종료할 수 있게 만든다

   => String문자열의 같다는 조건을 만들기 위해서는 .equals("문자열")을 만든다 

   => "exit"이라는 문자열을 입력하면 "프로그램을 종료합니다."를 출력하고 break;문을 통하여 빠져나온다

4. 탈출하기 전에는 "입력한 문자열: " + str(내가 입력한 문자열) 출력 - 조건 만족하여 break발동 전까지 무한반복

 

실행결과)

 


예제2) 첫 번째 숫자와 두 번째 숫자를 더해서 출력하는 프로그램 

public class ScannerWhile2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("첫 번째 숫자와 두 번째 숫자 모두 0을 입력하면 프로그램을 종료합니다.");

        while (true) {
            System.out.print("첫 번째 숫자를 입력하세요:");
            int num1 = scanner.nextInt();

            System.out.print("두 번째 숫자를 입력하세요:");
            int num2 = scanner.nextInt();

            if(num1 == 0 && num2 == 0) {
                System.out.println("프로그램 종료");
                break;
            }

            int sum = num1 + num2;
            System.out.println("두 숫자의 합: " + sum);
        }
    }
}

1. 첫 번째 문자열 : 프로그램 설명

2. while 반복문 (무한루프) 호출

 => 첫 번째 숫자 입력 / 두 번째 숫자 입력 

3. 조건문에 num1이 0 이면서 num2가 0인 (and조건 = 둘 다 0이면) "프로그램 종료" 출력 후 break;문으로 빠져나옴

4. 둘 다 0이 아니면 빠져나오지 않고 num1과 num2를 합친 sum을 출력

 

실행결과)

 


예제3) 입력한 정수의 누적 합을 알려주는 프로그램

public class ScannerWhile3 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        int sum = 0;

        while(true) {
            System.out.print("정수를 입력하세요 (0을 입력하면 종료):");
            int number = input.nextInt();

            if(number == 0) {
                break;
            }

            sum += number;
        }
        System.out.println("입력한 모든 정수의 합: " + sum);
    }
}

 

1. sum 변수 생성 후 0으로 초기화

2. while 반복문 생성

3. 정수를 입력하라는 문장 출력 

4. 조건문 생성 : 입력한 숫자가 0이면 break;문으로 빠져나옴 - 프로그램 종료

5. 조건문을 만족하지 않는다면 입력한 정수를 출력함

6. 프로그램이 종료되면 여태 입력한 정수의 합을 출력해줌

실행결과)