Метод getName() класса Character в Java

JavaBeginner
Практиковаться сейчас

Введение

Метод getName() в Java является частью класса Character, который возвращает Unicode-имя (если оно доступно), назначенное символу, представленному заданной точкой кода Unicode. Этот метод очень полезен при представлении Unicode-символов в вашей Java-программе.

Настройка

Создайте файл с именем CharGetName.java в директории ~/project с помощью команды:

touch ~/project/CharGetName.java

Откройте файл CharGetName.java в предпочитаемом текстовом редакторе.

Импорт необходимого класса

В первой строке кода нам нужно импортировать необходимый класс, то есть класс Character. Мы его импортируем следующим образом:

import java.lang.Character;

Определить класс

Определите класс CharGetName и реализуйте метод main(). В методе main() мы будем выполнять операцию получения Unicode-имени различных символов, таких как "H", "f" и т.д. в Java.

Полный код выглядит следующим образом:

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-программу

Компилируйте файл Java CharGetName с использованием следующей команды:

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() для получения входного значения, а затем преобразуем введенный символ в целое число - кодочет (codepoint), используя метод Character(), чтобы найти его имя. Затем мы выводим имя символа с использованием метода System.out.println().

Компилировать и запустить Java-программу

Компилируйте файл Java CharGetName с использованием следующей команды:

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-программу

Компилируйте файл Java CharGetName с использованием следующей команды:

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-программу

Компилируйте файл Java CharGetName с использованием следующей команды:

javac CharGetName.java

После успешного завершения процесса компиляции запустите код java с использованием следующей команды:

java CharGetName

Теперь введите неассоциированный символ, например, null ("\u0000"), и вы получите сообщение "НИКАКОГО ИМЕНИ НЕ НАЙДЕНО: Для этого символа не назначено имя".

Резюме

В этом практическом занятии мы изучили метод getName() в Java и как использовать его для получения имен Unicode символов, реализовав примеры Java-кода. Мы также узнали, как считывать ввод пользователя для этого метода и как обрабатывать ошибки, создав и запустив Java-программу в терминале системы Ubuntu.