Java Character isSurrogate Methode

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernst du, wie du die isSurrogate()-Methode der Character-Klasse in Java verwendest. Diese Methode wird verwendet, um zu überprüfen, ob ein bestimmtes Zeichen eine Unicode-Surrogatcodeeinheit ist oder nicht. Die isSurrogate()-Methode ist eine statische Methode, was bedeutet, dass sie direkt auf der Character-Klasse aufgerufen werden kann, ohne eine Instanz der Klasse zu erstellen.

Erstellen einer neuen Java-Datei

Erstelle eine neue Java-Datei mit dem Namen IsSurrogateDemo.java im Verzeichnis ~/project.

touch ~/project/IsSurrogateDemo.java

Schreiben des Java-Codes

Kopiere und füge folgenden Code in die Datei IsSurrogateDemo.java ein:

import java.util.Scanner;

public class IsSurrogateDemo {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.print("Geben Sie ein Zeichen ein: ");
      char ch = sc.nextLine().charAt(0);
      boolean isSurrogateChar = Character.isSurrogate(ch);
      if (isSurrogateChar) {
         System.out.println(ch + " ist eine Surrogatcodeeinheit.");
      } else {
         System.out.println(ch + " ist keine Surrogatcodeeinheit.");
      }
   }
}

Kompilieren und Ausführen des Programms

Öffne ein Terminal und navigiere zum Ordner ~/project. Kompiliere die Datei IsSurrogateDemo.java mit dem folgenden Befehl:

javac IsSurrogateDemo.java

Sobald das Programm ohne Fehler kompiliert ist, führe es mit dem folgenden Befehl aus:

java IsSurrogateDemo

(Optional): Testen mit einem Zeichenkettchen

Du kannst den Java-Code so ändern, dass du ein Zeichenkettchen statt eines einzelnen Zeichens testen kannst. Hier ist, wie du den Code ändern kannst:

import java.util.Scanner;

public class IsSurrogateDemo {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.print("Geben Sie eine Zeichenkette ein: ");
      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 + " ist eine Surrogatcodeeinheit.");
         } else {
            System.out.println(ch + " ist keine Surrogatcodeeinheit.");
         }
      }
   }
}

Kompiliere und führe das geänderte Programm mit den gleichen Befehlen wie zuvor aus (javac IsSurrogateDemo.java und java IsSurrogateDemo).

Ändern des Programms, um Befehlszeilenargumente zu verwenden

Du kannst den Java-Code so ändern, dass er das Eingabezeichen oder -zeichenkettchen aus den Befehlszeilenargumenten annimmt, anstatt den Benutzer zu auffordern, die Eingabe einzugeben. Hier ist, wie du den Code ändern kannst:

public class IsSurrogateDemo {
   public static void main(String[] args) {
      if (args.length == 0) {
         System.out.println("Bitte geben Sie ein Zeichen oder eine Zeichenkette als Befehlszeilenargument ein.");
         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 + " ist eine Surrogatcodeeinheit.");
            } else {
               System.out.println(ch + " ist keine Surrogatcodeeinheit.");
            }
         }
      }
   }
}

Kompiliere und führe das geänderte Programm mit den folgenden Befehlen aus (ersetze "e" durch beliebiges Zeichen oder Zeichenkettchen):

javac IsSurrogateDemo.java
java IsSurrogateDemo e

Zusammenfassung

Herzlichen Glückwunsch! Du hast gelernt, wie du die isSurrogate()-Methode der Character-Klasse in Java verwendest. Diese Methode wird verwendet, um zu überprüfen, ob ein gegebenes Zeichen eine Unicode-Surrogatcodeeinheit ist oder nicht. Du hast auch gelernt, wie du Eingaben vom Benutzer und Befehlszeilenargumenten entgegennehmen und das Programm entsprechend ändern kannst.