Scanner 란?

: System.in 에게 키를 읽게 하고, 읽은 바이트를 문자, 정수, 실수, 불린, 문자열 등 다양한 타입으로 변환하여 리턴 하는 명령어를 의미합니다.

- java.util.Scanner 클래스

System.out.println = out : 출력하겠다. println : 모니터 상으로 출력
System.in) = in : 입력하도록 한다. keyboard 가 눌렸을 때 그 정보를 읽어 올 수 있는 연결통로가 되는 동작을 합니다.

 

package String;

import java.util.Scanner;

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

Scanner가 저장 되어있는 곳을 import 받아야 사용할 수 있습니다.

: import java.util.Scanner; // import 문 필요

 

- Scanner 주요 메소드

 

 

Scanner 사용예시>

package String;

import java.util.Scanner;

public class keyboardScanner {
	public static void main(String[] args) {
			Scanner keyboard = new Scanner(System.in);
			
			System.out.println("덧셈 연산 수행 프로그램."); 
			System.out.print("첫번째 정수값을 입력 : "); 
			int num1 = keyboard.nextInt(); 
				
			System.out.print("두번째 정수값을 입력 : "); 
			int num2 = keyboard.nextInt(); 
			
			int resultint  = num1 + num2 ;
			
			System.out.println(num1 + " + " + num2 + " = " + resultint);
			System.out.println(resultint);

new로 인스턴스화해서 keyboard의 이름으로 값을 입력 할 수 있도록 만듭니다.

 

 

주의 할점!!>

System.out.print("첫번째 실수 값 입력 : ");
    double num3 = keyboard.nextDouble();   // 실수로 강제로 변환 : nextDouble(); 
			
			System.out.print("첫번째 실수 값 입력 : ");
			double num4 = keyboard.nextDouble();
			
			double resultdouble = num3 +num4;
			
			System.out.println(num3 + " + " + num4 + " = " + resultdouble);
			System.out.println(resultdouble);
			
			keyboard.nextLine(); // dummy : 동작상의 원활함을 위해서 넣은 코드. 
			
			// 문자 + 문자열
			System.out.print("당신의 이름은?");
			String name  = keyboard.nextLine();  // 문자열로 출력 : NextLine();
			System.out.println("당신의 이름은" + name + "이군요.");

숫자 코드와 문자열 코드를 함께 사용할 때, nextint와 nextdouble는 enter전 까지의 값을 반환하고 실행하지만
nextLine은 문자열을 처리 하기 때문에 enter나 space가 문자처럼 처리 되기 때문에 위에서 사용된 enter를 문자 취급하여 실행됩니다.
해결점 : keyboard.nextLine();를 숫자 출력 코드와 문자열 출력 코드 사이에 넣어서 enter가 수행되게 하는  

더미 코드를 넣어서 동작상의 원활함을 주도록 합니다. = dummy code 

 

+ Recent posts