Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩
JAVA/Java Start

7. Scanner 유저인풋

by Toughie 2024. 1. 24.

사용자의 입력을 받을 수 있는 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(); //입력을 String으로 가져온다.
        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);
    }
}

 

print vs println

println()은 출력 후 다음 라인으로 자동으로 넘어간다. print + enter(\n) 와 같다.

*이스케이핑 문자 \n -> print("\n")


두 숫자 비교 예시

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.print("더 큰 숫자는 " + num1 + "입니다.");
        } else if (num1 < num2) {
            System.out.print("더 큰 숫자는 " + num2 + "입니다.");
        } else {
            System.out.print("두 숫자가 " + num1 + "로 같습니다.");
        }
    }
}

 

문자열 출력 예시

import java.util.Scanner;

public class Scanner4 {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        // 종료를 입력할 떄 까지 입력을 계속 받기
        while (true) {
            System.out.print("문자열을 입력해 주세요 (끝내려면 '종료' 입력): ");
            String str = scanner.nextLine();
            if (str.equals("종료")) {
                break;
            }
            System.out.println("입력한 문자열은 " + "'" + str + "'" + " 입니다.");
        }
        System.out.print("프로그램을 종료했습니다.");
    }
}

 

두 숫자의 합 예시

import java.util.Scanner;

// 첫 번쨰 숫자와 두 번째 숫자를 더해서 출력하는 프로그램
// 첫 번쨰 숫자와 두 번쨰 숫자 모두 0이면 프로그램 종료
public class Scanner5 {

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

        while (true) {
            System.out.println("두 숫자의 합을 구합니다. 0, 0을 입력하면 종료됩니다.");

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

            int sum = num1 + num2;

            if (num1 == 0 && num2 == 0) {
                System.out.print("프로그램을 종료합니다.");
                break;
            }
            System.out.println("두 숫자의 합은 " + sum + "입니다.");
            System.out.println();
        }
    }
}

 

누적 합 예시

import java.util.Scanner;

//사용자는 한 번에 한 개의 정수를 입력. 0을 입력하면 프로그램을 종료된다.
// 프로그램이 종료될 떄까지 입력한 모든 정수의 합을 출력한다.
public class Scanner6 {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int sum = 0;

        while (true) {
            System.out.print("숫자를 입력해 주세요(0은 종료): ");
            int inputNum = scanner.nextInt();
            System.out.println("입력한 숫자: " + inputNum);

            if (inputNum == 0) {
                System.out.print("지금까지의 합은 " + sum + "입니다.");
                break;
            }
            sum += inputNum;
        }
    }
}

 

구구단 예시

import java.util.Scanner;
public class ScannerTest3 {

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

        System.out.print("몇 단을 출력할까요? :");
        int num = scanner.nextInt();

        for (int i = 1; i < 10; i++) {
            System.out.println(num + " X " + i + " = " + (num * i));
        }
    }
}

 

여러 입력 예시

import java.util.Scanner;

public class ScannerTest8 {

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

        int totalPrice = 0;

        while (true) {
            System.out.println("1: 상품 입력, 2: 결제, 3: 프로그램종료");
            System.out.print(": ");

            int option = scanner.nextInt();
            scanner.nextLine();

            switch (option) {
                case 1:
                    System.out.print("상품명을 입력하세요: ");
                    String productName = scanner.nextLine();
                    System.out.print("상품 가격을 입력하세요: ");
                    int price = scanner.nextInt();
                    System.out.print("구매 수량을 입력하세요: ");
                    int quantity = scanner.nextInt();

                    int total = (price * quantity);
                    System.out.println("상품명: " + productName + " 가격: " + price + " 수량: " + quantity + " 합계: " + total);
                    System.out.println();
                    totalPrice += total;
                    break;
                case 2:
                    System.out.println("결제할 금액은 " + totalPrice + " 입니다.");
                    totalPrice = 0;
                    break;
                case 3:
                    System.out.print("프로그램을 종료합니다.");
                    return;
                default:
                    System.out.println("올바른 옵션을 선택해 주세요.");
                    System.out.println();
                    break;
            }
        }
    }
}

 

 

학습 출처

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

'JAVA > Java Start' 카테고리의 다른 글

9. 메서드(method)  (0) 2024.02.10
8. 배열 Array  (0) 2024.02.02
6. 스코프(Scope), 타입캐스팅(Type Casting)_형변환  (0) 2024.01.21
5. 반복문 (while, for, continue/break)  (0) 2024.01.20
4. 조건문(if, switch, 삼항 연산자)  (0) 2024.01.15