Введение
Метод 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.



