![article thumbnail image](https://blog.kakaocdn.net/dn/dimtEJ/btrFCght44F/KNJ39RePgoK6V8XILTHEfk/img.png)
키보드에서 입력된 내용을 변수에 저장하기
키보드에서 키 하나를 입력하면 프로그램에서는 숫자로 된 키코드를 읽을 수 있다.
주요키코드
0 = 48 | A = 65 | a = 97 | Enter = [CR=13, LF=10] |
package sec04.exam02;
import java.io.IOException;
public class KeyCodeEx {
public static void main(String[] args) throws IOException {
int keyCode;
// keyCode = (시스템이 가지고있는).(입력장치에서).(입력된 키코드를 읽기);
keyCode = System.in.read();
System.out.println("keyCode: " + keyCode);
keyCode = System.in.read();
System.out.println("keyCode: " + keyCode);
keyCode = System.in.read();
System.out.println("keyCode: " + keyCode);
}
}
실행 후 콘솔에 a 를 입력하고 엔터를 치면
a와 Enter CR(캐리지리턴) 그리고 Enter LF(라인피드)로 구성된 키코드가 출력된다.
입력된 키의 개수와 상관없이 키코드 읽기
package sec04.exam02;
import java.io.IOException;
public class ContinueKeyCodeReadEx {
public static void main(String[] args) throws IOException {
int keyCode;
while(true) {
keyCode = System.in.read();
System.out.println("keyCode: " + keyCode);
}
}
}
while문을 사용하여 무한반복 실행되기 때문에 종료시 콘솔에서 강제종료해줘야함
q를 입력하면 반복 종료
package sec04.exam02;
import java.io.IOException;
public class QStopEx {
public static void main(String[] args) throws IOException {
int keyCode;
while(true) {
keyCode = System.in.read();
System.out.println("keyCode: " + keyCode);
if(keyCode == 113) {
break;
}
}
}
}
System.in.read()의 단점은 키코드를 하나씩 읽기때문에 2개이상의 키가 조합된 한글&문자열을 읽을 수 없다.
그래서 자바는 보완책으로 Scanner클래스를 제공하고있다.
키보드에서 입력된 내용을 문자열로 얻기
package sec04.exam02;
import java.util.Scanner;
public class ScannerEx {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(true) {
String inputData = scanner.nextLine();
System.out.println("입력된 문자열 : \"" + inputData + "\"");
if (inputData.equals("q")) {
break;
}
}
System.out.println("종료");
}
}
스캐너 클래스를 import 하여 실행
참고 :
- 혼자공부하는 자바(신용권), 한빛미디어
반응형
'개발 > JAVA' 카테고리의 다른 글
[Java] 혼자 공부하는 자바 - 배열(Array) (0) | 2022.06.28 |
---|---|
[Java] 혼자공부하는 자바 - 참조타입과 참조변수 (0) | 2022.06.27 |
[Java] 혼자공부하는자바 - 변수와 타입 (0) | 2022.06.23 |
[Java] 혼자공부하는 자바 - 시작하기 (0) | 2022.06.21 |
[JAVA] JAVA8에서 JAVA11으로 버전 올리기 (0) | 2022.06.06 |