Scanner

오늘·2021년 2월 19일
0

Java

목록 보기
3/42

✔Scanner - 사용자에게 값 받기

import java.util.Scanner;
//scanner 클래스는 패키지 안에 있어 import 해줘야 사용이 가능

public class v1 {
	public static void main(String[] args) {
		System.out.println("숫자를 입력해주세요");

		Scanner sc = new Scanner(System.in);
        	//Scanner 객체 생성
            	//sc (다른 이름으로 변경가능) 라는 인스턴스 생성해줌
		int num1;
		num1 = sc.nextInt();
        	//sc.nextInt() 형태로 숫자값(Int형)을 num1에 넣어준다.

		System.out.println("당신의 숫자 : " + num1);
	}
}

Scanner는 next()메소드를 사용하는데

  • nextInt() : 정수타입(int)의 값을 받을 때
  • nextDouble() : 실수타입(double) 값을 받을 때
  • next() : 공백을 기준으로 한 단어 또는 한 문장
  • nextLine() : 문자 또는 문장 한 라인 전체를 받음

실행결과


✔연속으로 값 입력시 구분 필요


import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		System.out.println("숫자를 입력해주세요");

		Scanner sc = new Scanner(System.in);
		// Scanner 객체 생성
		// sc (다른 이름으로 변경가능) 라는 인스턴스 생성
        
        	System.out.print("숫자 3개 입력 : ");
        	int num1 = sc.nextInt();
        	int num2 = sc.nextInt();
        	int num3 = sc.nextInt();
        	//정수타입으로 받을 거라 nextInt(); 로 받음

        	System.out.printf(">>입력한 숫자는 %d, %d, %d \n", num1, num2, num3);
        	System.out.println(" ");
        	//%d를 사용했기때문에 printf() 사용, 줄 바꿈을 위해 개행문자 사용
        
//----------------------------------------------------------------------------------
		
		System.out.print("숫자 3개를 입력하세요 ( - 구분) : ");
        	sc = new Scanner(sc.next()).useDelimiter("-");
        	//사용자가 지정한 구분자를 사용하기 위해
        	//여기서는 "-" 로 구분
        	int num4 = sc.nextInt();
        	int num5 = sc.nextInt();
        	int num6 = sc.nextInt();
         
        	System.out.printf(">> 당신이 입력한 숫자는 %d, %d, %d 입니다.\n", num4, num5, num6);
	}
}

Scanner는 기본적으로 공백(space)을 기준으로 값을 구분하여 입력받는다.
사용자가 구분자(delimiter)를 지정하고 싶다면 useDelimiter()을 이런식으로 사용한다.

useDelimiter("-") : 입력값을 -로 구분
useDelimiter(",") : 입력값을 ,로 구분

실행결과

0개의 댓글