[JAVA] 키보드로부터 입력받기

2020. 6. 1. 14:07·Computer Science/Programming Language

 System.in

- 키보드로부터 직접 읽는 자바의 표준 입력 스트림

- 키보드로부터 키를 입력받는 메소드 

- 키 값을 바이트(문자 아님)로 리턴

 

하지만 키 값을 바이트 데이터로 넘겨주므로 응용프로그램이 문자 정보로 변환해야한다는 단점이 있음!

 

System.in.read( )

int keyCode = System.in.read();
public class WhileKeyControlExample {
	public static void main(String[] args) throws Exception{	
		//throws Exception : System.in.read()메소드에 대한 예외처리코드
	
		int speed =0;
		int keyCode =0;
		
		while(true) {
			if(keyCode!=13 && keyCode !=10) {	
				//즉, enter키가 입력되면 아래 문장들을 실행시키지 않는다.
                System.out.println("1.증속 | 2. 갑속 | 3. 중지");
				System.out.println("choice");
			}
			keyCode=System.in.read();//키보드의 키 코드를 읽음
			
			if (keyCode==49) {	//1을 읽었을 경우
				speed++;
				System.out.println("현재속도 : "+speed);
			}
			else if(keyCode==50) {	//2를 읽었을 경우
				speed--;
				System.out.println("현재속도 : "+speed);
			}
			else if (keyCode==51) break;	//3을 읽었을 경우
			//break: while문 탈출
		}
		
		System.out.println("close");
	}
}

 

Scanner 클래스 (java.util.Scanner 클래스)

- System.in 에게 키를 읽게 하고, 읽은 바이트를 문자, 정수, 실수, boolean, 문자열 등 다양한 타입으로 변환하여 리턴

- Scanner는 입력되는 키 값을 공백으로 구분되는 아이템 단위로 읽음

- 개발자가 원하는 다양한 타입의 값으로 바꾸어 읽을 수 있음

 

※ 객체 생성

//import 문 필요
import java.util.Scanner;
...
Scanner sc = new Scanner(System.in);  //Scanner 객체 생성

 

※ 공백문자

- \t, \f, \r, ' ', \n

Scanner sc = new Scanner(System.in);

String name = sc.next();
String city = sc.next();
int age = sc.nextInt();
double weight = sc.nextDouble();
boolean single = sc.nextBoolean();

 

저작자표시 비영리 변경금지 (새창열림)

'Computer Science > Programming Language' 카테고리의 다른 글

[JAVA] 데이터타입 - 참조 타입  (0) 2020.06.04
[JAVA] break문 사용  (0) 2020.06.01
[JAVA] 임의의 정수 뽑기  (0) 2020.06.01
[JAVA] 제어문  (0) 2020.05.30
[JAVA] 연산자 - 삼항연산자  (0) 2020.05.28
'Computer Science/Programming Language' 카테고리의 다른 글
  • [JAVA] 데이터타입 - 참조 타입
  • [JAVA] break문 사용
  • [JAVA] 임의의 정수 뽑기
  • [JAVA] 제어문
BS Kwak
BS Kwak
  • BS Kwak
    Slow but steady wins the race
    BS Kwak
  • 전체
    오늘
    어제
    • 카테고리 (161)
      • Project (2)
      • Next.js (3)
      • HTML+CSS+JS (17)
      • Computer Science (139)
        • Programming Language (52)
        • 자료구조와 알고리즘 (75)
        • Digital circuit (3)
        • 기타 error (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    LNK2001
    해시
    c++error
    mysql error
    오블완
    leetcode
    cmd error
    티스토리챌린지
    런타임 에러
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
BS Kwak
[JAVA] 키보드로부터 입력받기
상단으로

티스토리툴바