김코딩

자바 - Scanner 본문

Java

자바 - Scanner

김코딩딩 2024. 4. 25. 19:27

Scanner

System.out 을 통해서 출력을 했듯이, System.in 을 통해서 사용자의 입력을 받을 수 있다. 그런데 자바가 제공하는 System.in 을 통해서 사용자 입력을 받으려면 여러 과정을 거쳐야해서 복잡하고 어렵다. 자바는 이런 문제를 해결하기 위해 Scanner 라는 클래스를 제공한다. 이 클래스를 사용하면 사용자 입력을 매우 편리 하게 받을 수 있다.

 

예제 1 (scanner 예제)

package scanner;

import java.util.Scanner;

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

        System.out.print("문자열을 입력하세요:");
        String str = scanner.nextLine();
        System.out.println("입력한 문자열 : " + str);

        System.out.print("정수를 입력하세요: ");
        int intValue = scanner.nextInt();
        System.out.println("입력한 정수: " + intValue);

        System.out.print("실수를 입력하세요: ");
        double doubleValue = scanner.nextDouble();
        System.out.println("입력한 실수: " + doubleValue);
    }
}

Scanner scanner = new Scanner(System.in); 이 코드는 객체와 클래스를 배워야 정확히 이해할 수 있다.

지금은 Scanner 의 기능을 사용하기 위해 new 를 사용해서 Scanner 를 만든다 정도로 이해하면 된다.

Scanner 는 System.in 을 사용해서 사용 자의 입력을 편리하게 받도록 도와준다.

- Scanner scanner 코드는 scanner 변수를 선언하는 것이다.

이제부터 scanner 변수를 통해서 scanner 를 사용할 수 있다.

- scanner.nextLine() 엔터( \n )을 입력할 때 까지 문자를 가져온다.

- scanner.nextInt() 입력을 int 형으로 가져온다. 정수 입력에 사용한다.

- scanner.nextDouble() 입력을 double 형으로 가져온다. 실수 입력에 사용한다.

 

예제 2 (숫자를 입력하여 두 숫자의 합을 구하는 예제)

package scanner;

import java.util.Scanner;

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

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

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

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

    }
}

 

예제 3 (숫자를 두개 입력받아 두 숫자 중 큰 숫자를 출력하는 예제)

package scanner;

import java.util.Scanner;

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

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

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

        if (num1 > num2) {
            System.out.println("더 큰 숫자: " + num1);
        }else if (num2 > num1){
            System.out.println("더 큰 숫자: " + num2);
        }else {
            System.out.println("두 숫자는 같습니다.");
        }

    }
}

 

예제 4 (문자열을 입력받아 exit를 입력할때까지 입력된 문자열을 출력하는 예제)

package scanner;

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")){
                break;
            }
            System.out.println("입력한 문자열: " + str);
        }
        System.out.println("프로그램을 종료합니다.");
    }
}

 

예제 5 (첫 번째 숫자와 두 번째 숫자 모두 0 입력시 프로그램을 종료하는 예제)

package scanner;

import java.util.Scanner;

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);
        }
    }
}

 

예제 6 (0을 입력할때까지 정수를 입력하기 - 종료 시 지금까지 입력한 정수의 합 구하기)

package scanner;

import java.util.Scanner;

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 num = input.nextInt();

            if (num == 0) {
                System.out.println("프로그램을 종료합니다.");
                break;
            }
            sum += num;
        }
        System.out.println("입력한 모든 정수의 합: " + sum);
    }
}

'Java' 카테고리의 다른 글

자바 - 다형성1  (0) 2025.04.01
자바 - 메서드  (0) 2025.02.26
자바 - 반복문  (0) 2025.01.31
자바 - 형변환  (0) 2024.04.25