Java Character GetType 码点方法

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用 Java Character 类的 getType(int codePoint) 方法来获取 Unicode 码点字符值的通用类别。你还将学习如何在 Ubuntu 系统的终端中编写和执行 Java 代码。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/switch("Switch") java/BasicSyntaxGroup -.-> java/output("Output") java/StringManipulationGroup -.-> java/strings("Strings") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/switch -.-> lab-117499{{"Java Character GetType 码点方法"}} java/output -.-> lab-117499{{"Java Character GetType 码点方法"}} java/strings -.-> lab-117499{{"Java Character GetType 码点方法"}} java/user_input -.-> lab-117499{{"Java Character GetType 码点方法"}} java/files -.-> lab-117499{{"Java Character GetType 码点方法"}} java/create_write_files -.-> lab-117499{{"Java Character GetType 码点方法"}} java/working -.-> lab-117499{{"Java Character GetType 码点方法"}} java/string_methods -.-> lab-117499{{"Java Character GetType 码点方法"}} end

设置文件结构

在终端中,通过运行以下命令创建一个名为 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 代码会提示用户输入一个 Unicode 码点字符,使用 getType() 方法获取该字符的通用类别,并打印出对应的类别。

编译并运行代码

通过运行以下命令编译 GetTypeLab.java 文件:

javac GetTypeLab.java

要运行代码,请输入以下命令:

java GetTypeLab

当提示时,输入一个 Unicode 码点字符,例如 "A"(不带引号),然后按 Enter 键。

修改代码

修改代码以打印出通用类别的名称,而不是其序号值。你可以通过将 switch 语句替换为以下代码来实现:

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

编译并运行修改后的代码,观察输出的变化。

总结

在本实验中,你学习了如何使用 Java Character 类的 getType(int codePoint) 方法来获取 Unicode 码点字符值的通用类别。你在 Ubuntu 系统的终端中编写了 Java 代码,并使用 Scanner 类从用户获取输入。你还了解了如何修改代码以打印出通用类别的名称,而不是其序号值。