✶Language/JAVA

[JAVA] Scanner 이용해 입력 받기

soonybutter 2024. 7. 14. 01:32
728x90

 

 

 

 

자바의 Scanner 클래스

 

자바는 Scanner라는 메소드를 이용해서 사용자의 입력을 받는다.

 

 

 

 

1. 입력 하는 데이터의 타입에 따라 구분한다.

int형 nextInt()
String형 next()  혹은 nextLine() 

int형은 nextInt() 을, String형은 nextLine() 혹은 nextLine() 을 사용해서 입력을 받을 수 있다.

 

next() :

  • 공백을 기준으로 한 단어 또는 한 문자씩 입력받는다.
  • 버퍼에 입력된 문자나 문자열에서 공백 전까지의 단어를 읽는다.
  • 개행 문자를 가져오지 않는다.

nextLine() :

  • 문자 또는 엔터를 치기 전까지의 문장 전체를 입력받는다.
  • 버퍼에 입력된 문자열을 개행 문자까지 다 가져온다.

 

 

ex)

Scanner scanner = new Scanner(System.in);
String food= scanner.nextLine(); 

 

메인 함수 안에 이렇게 scanner을 사용하면,

사용자는 food에 해당하는 string 을 입력한다.

 

2. Scanner 사용시 util 패키지를 Scanner  클래스를 호출해야한다.

Scanner 의 경우는 java.util 패키지에 있다.

인텔리제이를 사용할 경우 자동으로 inport가 추가된다.

 

 

 

 

 

 

 

 

 

 

Scanner 을 사용한 입력 예시

 

 


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

        System.out.print("음식 이름을 입력해주세요: ");
        String food= scanner.nextLine();

        System.out.print("음식의 가격을 입력해주세요: ");
        int price=scanner.nextInt();

        System.out.print("수량을 입력해주세요: ");
        int many= scanner.nextInt();

        System.out.println(food+" "+many+"개를 주문하셨습니다. 총 가격은 "+price*many+"원입니다.");


    }
}

 

콘솔창

 

초록색부분이 입력값을 직접 입력해준 부분이다.

원하는대로 입력받고 출력도 된 것을 확인 할 수 있다.

 

 

 

 

 

예제1 

 

문제 출처: 김영한_자바  

다음과 같은 조건에 맞춰 코드를 작성하면 아래와 같이 나타낼 수 있다.

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

        int totalCost = 0;

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

            int option = scanner.nextInt();

            if (option == 1)
            {
                scanner.nextLine();

                System.out.print("상품명을 입력하세요: ");
                String name = scanner.nextLine();

                System.out.print("상품의 가격을 입력하세요: ");
                int price = scanner.nextInt();

                System.out.print("구매 수량을 입력하세요: ");
                int quantity = scanner.nextInt();

                totalCost+=price*quantity;

                System.out.println("상품명:" + name + " 가격:" + price + " 수량:" + quantity + " 합계:" + price*quantity);

            }
            else if (option == 2)
            {
                System.out.println("총 비용: " + totalCost);
                totalCost=0;

            }
            else if(option==3)
            {
                System.out.println("프로그램을 종료합니다!");
                break;

            }
            else
            {
                System.out.print("올바른 옵션을 선택해주세요.");
            }
        }

    }

 

1을 입력했을때, 2를 입력했을때, 그리고 3을 입력했을때 정상적으로 종료되는지 입력해보면

아래와 같이 성공적으로 작동하는 것을 확인 할 수 있다.

 

 

 

 

 

 

 

 

틀린 부분이나 이상한 부분이 있으면 댓글로 지적해주세요! 

감사합니다 :)

 

728x90