1 minute read


Java 에서 키 입력

  • System.in
    • 키보드로부터 직접 읽는 자바의 표준 입력 스트림
    • 키 값을 바이트(문자x)로 리턴
  • System.in을 사용할 때 문제점
    • 키 값을 바이트 데이터로 넘겨주므로 응용프로그램이 문자 정보로 변환해야 한다. systemin_Procdess
      System.in 사용시 문제점

Scanner 키 입력

  • Scanner 클래스
    • System.in 에게 키를 읽게 하고, 읽은 바이트를 문자, 정수, 실수, Boolean, 문자열 등 다양한 타입으로 변환하여 리턴.
      • java.util.Scanner 클래스
  • 객체 생성
    import java.util.Scanner; // import문 필요.
    ...
    Scanner a = new Scanner(System.in); // Scanner 객체 생성
    

    scanner_Procdess
    Scanner 동작 과정 - System.in 에게 키를 읽게 하고, 원하는 타입으로 변환하여 리턴

  • Scanner에서 키 입력 받기
    • Scanner는 입력되는 키 값을 공백으로 구분되는 아이템 단위로 읽음
    • 공백 문자 : ‘\t’, ‘\f’, ‘\r’, ‘\n’
  • 개발자가 원하는 다양한 타입의 값으로 바꾸어 읽을 수 있다

scannerinput_Procdess
Scanner 이용한 키 입력

Scanner 주요 메소드

String next()   // 다음 토큰을 문자열로 리턴
byte nextByte() // 다음 토큰을 byte 타입으로 리턴
short nextShort()   // 다음 토큰을 short 타입으로 리턴
int nextInt()   //다음 토큰을 int 타입으로 리턴
long nextLong() //다음 토큰을 long 타입으로 리턴
float nextFloat()   //다음 토큰을 float 타입으로 리턴
double nextDouble() //다음 토큰을 double 타입으로 리턴
boolean nextBoolean()   //다음 토큰을 boolean 타입으로 리턴
String nextLine()   // '\n'을 포함하는 한 라인을 읽고 '\n'을 버린 나머지 문자열 리턴
void close()    // Scanner 의 사용 종료
boolean hasNext()   // 현재 입력된 토큰이 있으면 true, 아니면 입력 때까지 무한정 대기, 새로운 입력이 들어올 때 true 리턴, ctrl-z 키가 입력되면 입력 끝이므로 false 리턴

Scanner를 이용한 키 입력 예제

import java.util.Scanner;

public class ScannerEx {
  public static void main(String[] args) {
    System.out.println("이름, 도시, 나이, 체중, 독신 여부를 빈칸으로 분리하여 입력하세요");
    Scanner scanner = new Scanner(System.in);

    String name = scanner.next(); //문자열 읽기
    System.out.println("name = " + name + ",");

    String city = scanner.next();//문자열 읽기
    System.out.println("city = " + city + ",");

    int age = scanner.nextInt(); //정수읽기
    System.out.println("age = " + age + ",");

    double weight = scanner.nextDouble(); //실수 읽기
    System.out.println("weight = " + weight + ",");

    boolean single = scanner.hasNextBoolean(); //논리값 읽기
    System.out.println("single = " + single + "입니다");

    scanner.close(); //scanner 닫기
  }
}



최대한의 설명을 코드 블럭 내의 주석으로 달아 놓았습니다.

혹시 이해가 안가거나 추가적인 설명이 필요한 부분, 오류 등의 피드백은 언제든지 환영합니다!

긴 글 읽어주셔서 감사합니다. 포스팅을 마칩니다.



처음으로~

Task Lists

  • Java 에서 키 입력
  • Scanner 키 입력
  • Scanner 주요 메소드
  • Scanner를 이용한 키 입력 예제

Tags:

Categories:

Updated:

Comments