Введение
В этом практическом занятии вы научитесь использовать метод isSurrogate() класса Character в Java. Этот метод используется для проверки, является ли заданный символ единицей кода суррогата Юникода или нет. Метод isSurrogate() является статическим методом, что означает, что его можно вызывать непосредственно на классе Character без создания экземпляра класса.
Создайте новый файл на Java
Создайте новый Java-файл с именем IsSurrogateDemo.java в директории ~/project.
touch ~/project/IsSurrogateDemo.java
Напишите код на Java
Скопируйте и вставьте следующий код в файл IsSurrogateDemo.java:
import java.util.Scanner;
public class IsSurrogateDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a character: ");
char ch = sc.nextLine().charAt(0);
boolean isSurrogateChar = Character.isSurrogate(ch);
if (isSurrogateChar) {
System.out.println(ch + " is a surrogate code unit.");
} else {
System.out.println(ch + " is not a surrogate code unit.");
}
}
}
Компилируйте и запускайте программу
Откройте терминал и перейдите в папку ~/project. Скомпилируйте файл IsSurrogateDemo.java с помощью следующей команды:
javac IsSurrogateDemo.java
После того, как программа скомпилируется без ошибок, запустите программу с помощью следующей команды:
java IsSurrogateDemo
По желанию): Тестируйте с помощью строки символов
Вы можете изменить код на Java для тестирования строки символов вместо одного символа. Вот, как вы можете изменить код:
import java.util.Scanner;
public class IsSurrogateDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a string: ");
String input = sc.nextLine();
for (int i = 0; i < input.length(); i++) {
char ch = input.charAt(i);
boolean isSurrogateChar = Character.isSurrogate(ch);
if (isSurrogateChar) {
System.out.println(ch + " is a surrogate code unit.");
} else {
System.out.println(ch + " is not a surrogate code unit.");
}
}
}
}
Скомпилируйте и запустите модифицированную программу с использованием тех же команд, что и раньше (javac IsSurrogateDemo.java и java IsSurrogateDemo).
Измените программу для использования аргументов командной строки
Вы можете изменить код на Java для приема входного символа или строки из аргументов командной строки вместо запроса у пользователя ввода. Вот, как вы можете изменить код:
public class IsSurrogateDemo {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("Please enter a character or string as command-line argument.");
return;
}
for (String arg : args) {
for (int i = 0; i < arg.length(); i++) {
char ch = arg.charAt(i);
boolean isSurrogateChar = Character.isSurrogate(ch);
if (isSurrogateChar) {
System.out.println(ch + " is a surrogate code unit.");
} else {
System.out.println(ch + " is not a surrogate code unit.");
}
}
}
}
}
Скомпилируйте и запустите модифицированную программу с использованием следующих команд (замените "e" любым символом или строкой по вашему выбору):
javac IsSurrogateDemo.java
java IsSurrogateDemo e
Резюме
Поздравляем! Вы узнали, как использовать метод isSurrogate() класса Character в Java. Этот метод используется для проверки, является ли заданный символ кодовой единицей суррогата Юникода или нет. Вы также узнали, как получать ввод от пользователя и аргументов командной строки, а также как соответствующим образом изменять программу.



