CodeGym /Java-Blog /Random-DE /Gibt es nextChar() in der Scanner-Klasse in Java?
Autor
Volodymyr Portianko
Java Engineer at Playtika

Gibt es nextChar() in der Scanner-Klasse in Java?

Veröffentlicht in der Gruppe Random-DE
Die Zeicheneingabe in Java ist nicht so einfach wie die Eingabe als Zeichenfolge oder Ganzzahl. Die Scanner-Klasse in Java funktioniert mit nextInt() , nextLong() , nextDouble() usw. Allerdings unterstützt sie nextChar in Java nicht, was die Zeicheneingabe etwas komplizierter macht. Wenn Sie char-Eingaben in Java übernehmen möchten und nextChar() nicht funktioniert, erfahren Sie hier, wie Sie Eingaben ordnungsgemäß als char übernehmen können.

nextChar()-Scannerklasse in Java

In der Java-Scanner-Klasse gibt es keine klassische nextChar()- Methode. Die beste und einfachste Alternative zur char-Eingabe in Java wäre next().charAt(0). Der Befehl charAt(0) wird in Kombination mit dem einfachen Befehl next() verwendet , der Java anweist, das nächste Zeichen oder die nächste Zeichenfolge aufzuzeichnen, die in die Befehlszeile eingegeben wird. Diese Eingabe kann eine Zeichenfolge, ein Zeichen oder eine Zahl sein. Der Befehl charAt ist eine Möglichkeit, unerwünschte Datentypen zu filtern und beschränkt die Eingabe nur auf den Datentyp char. Da charAt die Ausgabe nur in Form eines char-Werts zurückgibt, konvertiert es jeden Datentyp in einen char-Typ. So nehmen Sie eine Zeicheneingabe mit Scanner und next() vor, können Sie diese beiden Codezeilen verwenden.

Scanner input = new Scanner (system.in);
char a = input.next().charAt(0);
Wenn Sie next() verwenden , teilen Sie Java mit, dass es eine Eingabe eines nicht angegebenen Datentyps akzeptieren wird. Diese Eingabe kann unendlich viele Zeichen enthalten. Wenn Sie jedoch den Befehl charAt verwenden und „0“ als Index übergeben, nehmen Sie nur ein einzelnes Zeichen als Eingabe und speichern es in einer Variablen. Der Rückgabewert der Eingabezeile ist ein einzelnes Zeichen. Da wir den Compiler angewiesen haben, jede Eingabe zu akzeptieren, die er als nächstes empfangen würde, ist es egal, dass nur ein einzelnes Zeichen initialisiert wurde. Nachfolgend finden Sie Codierungsbeispiele zum Akzeptieren einer Zeicheneingabe in Java.

import java.util.Scanner;
   public class CharExample {
       public static void main(String[] args) {
 
           //Initializing input
           Scanner input = new Scanner(System.in);
           System.out.print("Input any character: ");
 
           //Using next().charAt(0) to Accept Char Input
           char a = input.next().charAt(0);
 
           //Printing the Contents of 'a'
           System.out.println("The Variable A Contains the Following Data: " + a);
       }
   }
Die Ausgabe ist:
Geben Sie ein beliebiges Zeichen ein: l Die Variable A enthält die folgenden Daten: l
Es gibt andere Alternativen, um Zeicheneingaben von Benutzern in Java zu akzeptieren. Sie können die Funktionen reader.useDelimiter(“”) und reader.next() verwenden, was ebenfalls eine intuitive Möglichkeit ist, die Aufgabe zu erledigen.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION