Java Character getName 方法

JavaJavaBeginner
立即练习

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

介绍

Java 中的 getName() 方法是 Character 类的一部分,它返回与给定 Unicode 码点表示的字符相关联的 Unicode 名称(如果可用)。在 Java 程序中表示 Unicode 字符时,此方法非常有用。

设置

~/project 目录下使用以下命令创建一个名为 CharGetName.java 的文件:

touch ~/project/CharGetName.java

使用你喜欢的文本编辑器打开 CharGetName.java 文件。

导入所需的类

在代码的第一行,我们需要导入所需的类,即 Character 类。导入方式如下:

import java.lang.Character;

定义一个类

定义一个名为 CharGetName 的类,并实现 main() 方法。在 main() 方法中,我们将执行获取不同字符(如 "H"、"f" 等)的 Unicode 名称的操作。

完整代码如下:

import java.lang.Character;

public class CharGetName {
    public static void main(String[] args) {
        int codepoint1 = 72; // H
        int codepoint2 = 102; // f
        int codepoint3 = 0;

        String name1 = Character.getName(codepoint1);
        String name2 = Character.getName(codepoint2);
        String name3 = Character.getName(codepoint3);

        System.out.println("The name of character " + Character.toChars(codepoint1)[0] + " is "+name1);
        System.out.println("The name of character " + Character.toChars(codepoint2)[0] + " is "+name2);
        System.out.println("The name of character with codepoint 0 is "+ name3);
    }
}

在这一步中,我们定义了一个名为 CharGetName 的类,并在其中实现了 main 方法。在 main 方法中,我们创建了一个整数变量,其值为字符的 Unicode 码点:codepoint1 的值为 72(H),codepoint2 的值为 102(f)。我们使用 Character.getName() 方法获取字符的名称,然后使用 System.out.println() 方法打印字符的名称。

编译并运行 Java 程序

使用以下命令编译 CharGetName Java 文件:

javac CharGetName.java

编译过程成功完成后,使用以下命令运行 Java 代码:

java CharGetName

编辑输入值

现在,让我们创建一个程序,该程序将接收用户输入并在控制台上返回字符的名称。

import java.util.Scanner;
import java.lang.Character;

public class CharGetName {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a character: ");
        char ch = scanner.next().charAt(0);
        int codepoint = ch;
        String name = Character.getName(codepoint);

        System.out.println("The name of character "+ch+" is "+name);
    }
}

在这里,创建了一个 Scanner 对象以获取用户输入。我们使用 Scanner.next() 方法获取输入值,然后通过 Character() 方法将输入的字符转换为整数码点,以查找其名称。之后,我们使用 System.out.println() 方法打印字符的名称。

编译并运行 Java 程序

使用以下命令编译 CharGetName Java 文件:

javac CharGetName.java

编译过程成功完成后,使用以下命令运行 Java 代码:

java CharGetName

现在,输入你想要查找名称的字符。例如,输入 "A"。你将在控制台上看到该字符的名称。

使用无效字符作为输入

现在,让我们看看如果输入无效字符,程序会如何响应。

import java.util.Scanner;
import java.lang.Character;

public class CharGetName {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a character: ");
        char ch = scanner.next().charAt(0);

        if(!Character.isDefined(ch)) {
            System.out.println("\nINVALID INPUT: Please enter a valid character.");
            return;
        }

        int codepoint = ch;
        String name = Character.getName(codepoint);

        System.out.println("\nThe name of character "+ch+" is "+name);
    }
}

在这个程序中,我们检查输入的字符是否已定义。如果输入的字符未定义,则会在控制台上打印一条消息:“无效输入:请输入有效字符。”如果字符已定义,则像之前一样获取其名称,并用适当的消息打印出来。

编译并运行 Java 程序

使用以下命令编译 CharGetName Java 文件:

javac CharGetName.java

编译过程成功完成后,使用以下命令运行 Java 代码:

java CharGetName

现在,输入一个无效的输入,例如 "8" 或 "$"。你将收到一条错误消息:“无效输入:请输入有效字符。”

使用未分配字符作为输入

现在,让我们看看如果使用未分配的字符作为输入,程序会如何响应。

import java.util.Scanner;
import java.lang.Character;

public class CharGetName {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a character: ");
        char ch = scanner.next().charAt(0);

        if(!Character.isDefined(ch)) {
            System.out.println("\nINVALID INPUT: Please enter a valid character.");
            return;
        }

        String name = Character.getName(ch);

        if(name == null) {
            System.out.println("\nNO NAME FOUND: There is no assigned name for this character.");
            return;
        }

        System.out.println("\nThe name of character "+ch+" is "+name);
    }
}

在这里,我们使用了 Character.getName(ch) 方法,而不是 Character.getName(codepoint)。如果输入的字符没有分配名称,则该方法将返回 null。因此,我们检查返回的名称是否为 null。如果是 null,则会打印一条消息:“未找到名称:此字符没有分配名称。”

编译并运行 Java 程序

使用以下命令编译 CharGetName Java 文件:

javac CharGetName.java

编译过程成功完成后,使用以下命令运行 Java 代码:

java CharGetName

现在,输入一个未分配的字符,例如 null ("\u0000"),你将收到一条消息:“未找到名称:此字符没有分配名称。”

总结

在本实验中,我们学习了 Java 中的 getName() 方法,并通过实现 Java 代码示例了解了如何使用它来获取字符的 Unicode 名称。我们还学习了如何读取用户输入,以及如何在 Ubuntu 系统的终端中创建和运行 Java 程序来处理错误。

您可能感兴趣的其他 Java 教程