Java Character getType 코드포인트 메서드

JavaBeginner
지금 연습하기

소개

이 랩에서는 Java 의 Character 클래스에 있는 getType(int codePoint) 메서드를 사용하여 유니코드 코드 포인트 (Unicode codepoint) 문자 값의 일반 범주를 얻는 방법을 배우게 됩니다. 또한 Ubuntu 시스템의 터미널에서 Java 코드를 작성하고 실행하는 방법도 배우게 됩니다.

파일 구조 설정

터미널에서 다음 명령을 실행하여 project라는 디렉토리를 생성합니다.

mkdir project

그런 다음 project 디렉토리로 이동합니다.

cd project

GetTypeLab.java라는 새 파일을 생성합니다.

touch GetTypeLab.java

텍스트 편집기로 파일을 엽니다.

touch GetTypeLab.java

Java 코드 작성

GetTypeLab.java 파일에 다음 Java 코드를 작성합니다.

import java.util.Scanner;

public class GetTypeLab {
    public static void main(String[] args) {
        try {
            System.out.println("Enter the Unicode codepoint character:");
            Scanner sc = new Scanner(System.in);
            int cp = sc.nextInt();
            int type = Character.getType(cp);
            switch (type) {
                case Character.COMBINING_SPACING_MARK:
                    System.out.println("Combining Spacing Mark");
                    break;
                case Character.CONNECTOR_PUNCTUATION:
                    System.out.println("Connector Punctuation");
                    break;
                case Character.CONTROL:
                    System.out.println("Control");
                    break;
                case Character.CURRENCY_SYMBOL:
                    System.out.println("Currency Symbol");
                    break;
                case Character.DASH_PUNCTUATION:
                    System.out.println("Dash Punctuation");
                    break;
                case Character.DECIMAL_DIGIT_NUMBER:
                    System.out.println("Decimal Digit Number");
                    break;
                case Character.ENCLOSING_MARK:
                    System.out.println("Enclosing Mark");
                    break;
                case Character.END_PUNCTUATION:
                    System.out.println("End Punctuation");
                    break;
                case Character.FINAL_QUOTE_PUNCTUATION:
                    System.out.println("Final Quote Punctuation");
                    break;
                case Character.FORMAT:
                    System.out.println("Format");
                    break;
                case Character.INITIAL_QUOTE_PUNCTUATION:
                    System.out.println("Initial Quote Punctuation");
                    break;
                case Character.LETTER_NUMBER:
                    System.out.println("Letter Number");
                    break;
                case Character.LINE_SEPARATOR:
                    System.out.println("Line Separator");
                    break;
                case Character.LOWERCASE_LETTER:
                    System.out.println("Lowercase Letter");
                    break;
                case Character.MATH_SYMBOL:
                    System.out.println("Math Symbol");
                    break;
                case Character.MODIFIER_LETTER:
                    System.out.println("Modifier Letter");
                    break;
                case Character.MODIFIER_SYMBOL:
                    System.out.println("Modifier Symbol");
                    break;
                case Character.NON_SPACING_MARK:
                    System.out.println("Non-Spacing Mark");
                    break;
                case Character.OTHER_LETTER:
                    System.out.println("Other Letter");
                    break;
                case Character.OTHER_NUMBER:
                    System.out.println("Other Number");
                    break;
                case Character.OTHER_PUNCTUATION:
                    System.out.println("Other Punctuation");
                    break;
                case Character.OTHER_SYMBOL:
                    System.out.println("Other Symbol");
                    break;
                case Character.PARAGRAPH_SEPARATOR:
                    System.out.println("Paragraph Separator");
                    break;
                case Character.PRIVATE_USE:
                    System.out.println("Private Use");
                    break;
                case Character.SPACE_SEPARATOR:
                    System.out.println("Space Separator");
                    break;
                case Character.START_PUNCTUATION:
                    System.out.println("Start Punctuation");
                    break;
                case Character.SURROGATE:
                    System.out.println("Surrogate");
                    break;
                case Character.TITLECASE_LETTER:
                    System.out.println("Titlecase Letter");
                    break;
                case Character.UNASSIGNED:
                    System.out.println("Unassigned");
                    break;
                case Character.UPPERCASE_LETTER:
                    System.out.println("Uppercase Letter");
                    break;
            }
        } catch (Exception e) {
            System.out.println("Invalid input.");
        }
    }
}

이 Java 코드는 사용자에게 유니코드 코드 포인트 문자를 입력하라는 메시지를 표시하고, getType() 메서드를 사용하여 문자의 일반 범주를 얻은 다음 해당 범주를 출력합니다.

코드 컴파일 및 실행

다음 명령을 실행하여 GetTypeLab.java 파일을 컴파일합니다.

javac GetTypeLab.java

코드를 실행하려면 다음 명령을 입력합니다.

java GetTypeLab

프롬프트가 표시되면 "A"와 같은 유니코드 코드 포인트 문자를 입력하고 (따옴표 없이) Enter 키를 누릅니다.

코드 수정

일반 범주의 순서 값 대신 이름을 출력하도록 코드를 수정합니다. 다음 코드로 switch 문을 대체하여 이를 수행할 수 있습니다.

String typeName = Character.getName(type);
System.out.println("The character's general category is: " + typeName);

수정된 코드를 컴파일하고 실행합니다. 출력이 어떻게 변경되는지 확인합니다.

요약

이 랩에서는 Java Character 클래스의 getType(int codePoint) 메서드를 사용하여 유니코드 코드 포인트 문자의 일반 범주 값을 얻는 방법을 배웠습니다. Ubuntu 시스템의 터미널에서 Java 코드를 작성하고 Scanner 클래스를 사용하여 사용자로부터 입력을 받았습니다. 또한 순서 값 대신 일반 범주의 이름을 출력하도록 코드를 수정하는 방법도 살펴보았습니다.