이것저것

[Java] keyCode 사용법 본문

Java/Java 공부

[Java] keyCode 사용법

곰태태 2020. 3. 29. 18:08
반응형
SMALL

System.in.read() : 키보드의 키 코드를 읽는 명령어

public static void main(String[] args) throws Exception

throws Exception은 예외처리를 해주는 것 : 오류가 나면 프로그램에서 처리하지 않고 상위에 넘긴다

 

ex)

(keyCode != 13 && keyCode != 10)
keycode 13과 keycode 10을 입력되는 것을 제외시킨다는 것은 엔터키를 제외한다는 것이다


next();

값을 입력하고 enter를 쳤는데 그다음 입력값을 안 받고 넘어가는 경우는

마지막에 입력한 엔터가 그다음 입력으로 인식되고 넘어가는 것이다 

 

next()로 값을 받고 엔터를 입력했을때 다음 입력값을 안 받고 넘어갈 경우에는

nextLine()을 사용한다.

nextLine()은 엔터까지를 값의 입력으로 받기때문에 다음 입력값을 무사히 받을 수 있다.


자바에는 버퍼를 지우는 함수가 없다
c에는 fflush()라는 함수가 있다
대신 자바에서는 nextLine()을 쓴다

sc.nextLine(); 

nextLine() : sc.nextLine()를 next()이후 입력해서 개행 문자를 제거

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.util.Scanner;
 
public class NamePhone {
    public static void main(String[] args) throws Exception{
        
        Scanner input = new Scanner(System.in);
        boolean run = true;
        String name;
        String phone;
        String home;
        int keyCode = 0;
        
        System.out.println("이름을 입력하세요 : ");
        name = input.nextLine(); //next()로 할 경우에는 전화번호 입력을 무시하고 주소 입력으로 넘어간다.
        
        System.out.println("전화번호를 입력하세요 : ");
        phone = input.nextLine();
        
        System.out.println("주소를 입력하세요 : ");
        home = input.nextLine();
        
        while(run) {
            if(keyCode != 13 && keyCode != 10) {
                System.out.println("------------------------------------");
                System.out.println("1.이름 | 2.전화번호 | 3.주소 | 4.중지");
                System.out.println("------------------------------------");
                System.out.println("선택 : ");
            }
            
            keyCode = System.in.read();
            
            if(keyCode == 49) {
                System.out.println(name + "\n");
 
            }else if (keyCode == 50) {
                System.out.println(phone + "\n");
                
            }else if (keyCode == 51) {
                System.out.println(home + "\n");
                
            }else if (keyCode == 52) {
                run = false;
            }
        }
        
        System.out.println("프로그램 종료");
    }
}
 
 
 
   
 
반응형
LIST

'Java > Java 공부' 카테고리의 다른 글

[Java] 객체 지향 프로그래밍  (0) 2020.04.16
[Java] 알아두면 좋은 정보들  (0) 2020.04.15
[Java] break문과 continue문  (0) 2020.03.29
[Java] 연산자의 종류  (0) 2020.03.29
[Java] 변수와 타입, 보수 변환법  (0) 2020.03.25
Comments