介绍
在本实验中,你将学习如何使用 Java Character 类的 getType(int codePoint) 方法来获取 Unicode 码点字符值的通用类别。你还将学习如何在 Ubuntu 系统的终端中编写和执行 Java 代码。
在本实验中,你将学习如何使用 Java Character 类的 getType(int codePoint) 方法来获取 Unicode 码点字符值的通用类别。你还将学习如何在 Ubuntu 系统的终端中编写和执行 Java 代码。
在终端中,通过运行以下命令创建一个名为 project 的目录:
mkdir project
然后进入 project 目录:
cd project
创建一个名为 GetTypeLab.java 的新文件:
touch GetTypeLab.java
使用文本编辑器打开该文件:
touch GetTypeLab.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 类从用户获取输入。你还了解了如何修改代码以打印出通用类别的名称,而不是其序号值。