Wie gebe ich eine Zeichenfolge in Java ein?

Java ist eine vielseitige Programmiersprache mit erweiterten Funktionen wie Threads, Entwurfsmustern, Anmerkungen, Lambda-Ausdrücken usw. In ProgrammiersprachenDie Annahme von Benutzereingaben ist eine entscheidende Fähigkeit, da sie die Brücke zwischen der Anwendung und dem Benutzer schlägt.

Unter den verschiedenen von Java unterstützten Datentypen wird String von Entwicklern am häufigsten verwendet. Dies liegt an seiner Flexibilität und der Fähigkeit, große Datenmengen zu speichern. Die Verwendung der Scanner-Klasse ist eine gängige Praxis, um in Java Zeichenfolgeneingaben vom Benutzer entgegenzunehmen. Es gibt jedoch verschiedene Methoden zur Eingabe von Zeichenfolgen, die in diesem Artikel erläutert werden.

Dieser Artikel behandelt alle möglichen Aspekte der String-Eingabe in Java.

Wie gebe ich eine Zeichenfolge in Java ein?

Es gibt verschiedene Klassen um die String-Eingabe in Java zu übernehmen und zu bearbeiten. Zu diesen Klassen gehören die Klasse Scanner, BufferReader und Console. Um Eingaben zu empfangen, werden mehrere integrierte Methoden aufgerufen, indem Instanzen dieser Klassen erstellt werden.

Um eine Zeichenfolge in Java einzugeben, erkunden Sie diese Methoden:

  • Verwenden der Scannerklasse
  • Verwenden der BufferedReader-Klasse
  • Verwenden der Konsolenklasse
  • Verwenden von Befehlszeilenargumenten
  • Geben Sie mithilfe der Scannerklasse eine Zeichenfolge ein
  • Die Scanner-Klasse aus der „java.utilDas Paket wird üblicherweise zum Lesen von Eingaben aus verschiedenen Quellen verwendet. Es handelt sich um eine vielseitige und leistungsstarke Klasse, die die Unterstützung für mehrere Datentypen wie String, Boolean, Float, Double usw. erweitert.

    Die allgemeine Syntax zum Importieren der Scanner-Klasse in Java lautet wie folgt:

    import java.util.Scanner;
    

    Die beiden häufigsten Funktionen zum Bearbeiten der Zeichenfolgen sind „nächste()“ Und „nächste Zeile()” Methoden. Schauen Sie sich die Implementierung dieser Methoden an, um die Zeichenfolgeneingabe vom Benutzer zu übernehmen:

    Methode 1: Verwendung von next()

    Der nächste() Die Methode der Scanner-Klasse liest die Eingabe, bis sie auf ein Leerzeichen oder Zeilenabschlusszeichen stößt. Nach dem Importieren der „java.util„Paket aus der Scanner-Klasse, ein Scanner-Objekt“scanObj” wird erstellt, das die Standardeingabe akzeptiert.

    Die vom Benutzer bereitgestellte Eingabezeichenfolge wird vom gelesen nächste() Methode und wird in der String-Variable „Eingang“. Der Wert der Variablen „Eingang„wird dann wie unten gezeigt gedruckt:

    Scanner scanObj=new Scanner(System.in);
    System.out.println("Enter a string");
    String input= scanObj.next();
    System.out.println("String is : " + input);
    

    Vollständiger Code und Ausgabe

    Methode 2: Verwendung von nextLine()

    Der „nächste Zeile()Die Methode liest eine einzelne Textzeile aus den Eingabequellen. Diese Methode liest jedes Zeichen der Zeichenfolge, einschließlich aller Leerzeichen. Die Ausgabe wird zurückgegeben, wenn das Ende der Zeile erreicht ist oder auf die Newline-Zeichen stößt („\N“).

    Nach dem Importieren der „java.util„Paket, das Scanner-Objekt“scanObj” wird erstellt und die nächste Zeile() Die Methode wird mit dieser Instanz aufgerufen. Die vom Benutzer eingegebene Zeichenfolge wird in der Variablen „Eingang“, das vom Datentyp „String“ ist. Der Wert wird dann über die print-Anweisung gedruckt:

    Scanner scanObj=new Scanner(System.in);
    System.out.println("Enter a string");
    String input= scanObj.nextLine();
    System.out.println("String is : " + input);
    

    Vollständiger Code und Ausgabe

    Methode 3: Verwendung von hasNext()

    Die Scanner-Klasse in Java unterteilt die Eingabe in Token und liest sie dann über verschiedene Eingabemethoden. Ebenso die hasNext() Methode der Scannerklasse Bestimmt, ob in der Eingabe Token zum Lesen vorhanden sind. Es gibt eine boolesche Ausgabe zurück, dh wahr oder falsch.

    Lassen Sie uns die praktische Anwendung der Verwendung demonstrieren hasNext() um eine String-Eingabe zu übernehmen.

    Der Scanner Objekt „Eingang” akzeptiert die Standardeingabe (über die Tastatur), nachdem die Scanner-Klasse aus dem „java.util“ Paket. Der Benutzer wird über die print-Anweisung aufgefordert, eine Zeichenfolge einzugeben:

    Scanner input=new Scanner(System.in);
    System.out.println("Enter string");
    

    Der while-Schleife prüft die Daten zum Lesen mithilfe von hasNext() Methode. Innerhalb der Schleife werden die vom Benutzer bereitgestellten Eingaben von der Methode next() gelesen und in der Variablen str gespeichert. Der Wert von „str“ wird dann gedruckt. Die Schleife endet, wenn in der Eingabe keine Token mehr zum Lesen vorhanden sind:

    while(input.hasNext())
    {
      String str=input.next();
      System.out.println(str);
    }
    

    Vollständiger Code und Ausgabe

    Methode 4: Verwendung von forEachRemaining() (für mehrere Strings)

    Der forEachRemaining() Die Methode durchläuft jedes Element und führt die angegebene Aktion für sie aus (Eingeführt in Java 8). Diese Methode ist Teil der Java Spliterator-Schnittstelle und hat keinen Rückgabetyp.

    Der java.util Das Paket wird importiert und enthält alle wesentlichen Klassen und Abhängigkeiten, z. B. den Scanner, um Benutzereingaben entgegenzunehmen. Danach wird das Scanner-Klassenobjekt „Eingang” ruft die Methode forEachRemaining() auf, die jede vom Benutzer bereitgestellte Zeichenfolge durchläuft. Die vom Benutzer bereitgestellten mehreren Zeichenfolgen werden dann gedruckt:

    Scanner input = new Scanner(System.in);  // creates a scanner object
    System.out.println("Enter different String "); //prompt the user to enter a string
    
    input.forEachRemaining(System.out::println);
    

    Vollständiger Code und Ausgabe

    Methode 5: Verwenden von Lambda-Ausdrücken

    Lambda-Ausdruck wurde in Java 8 eingeführt und bietet eine einfache und prägnante Möglichkeit zum Schreiben von Codes. Solche Ausdrücke folgen der funktionalen Schnittstelle und geben die Werte nach der Verarbeitung zurück. Lambda-Ausdrücke funktionieren ähnlich wie die Methoden. Im Gegensatz zu Methoden sind Lambda-Ausdrücke jedoch namenlos und werden direkt im Körper anderer Methoden deklariert und verwendet.

    Lassen Sie uns die Lambda-Ausdrücke implementieren, um Eingaben mit mehreren Zeichenfolgen vom Benutzer entgegenzunehmen. Importieren Sie dazu die Scannerklasse für das java.utils-Paket. Dann wird das Scanner-Objekt „Eingang„wird erstellt und der Benutzer wird aufgefordert, eine Zeichenfolge einzugeben:

    Scanner input = new Scanner(System.in);  // creates a scanner object System.out.println("Enter different String ");   // prompt the user to enter a string
    

    Das Scannerobjekt „Eingang” ruft die Methode forEachRemaining() auf, um jedes Zeichen der Zeichenfolge zu durchlaufen. In diesem Code ist das „strInput -> System.out.println()„ ist ein Lambda-Ausdruck, der weiterhin mehrere Zeichenfolgeneingaben vom Benutzer akzeptiert und diese anzeigt:

    input.forEachRemaining(strInput -> System.out.println("Input Entry :  " + strInput));
    

    Vollständiger Code und Ausgabe

  • Geben Sie eine Zeichenfolge mithilfe der BufferedReader-Klasse ein
  • Der BufferedReader Die Klasse ist effizienter und effektiver für die Aufnahme größerer Streams zeichenbasierter Zeichenfolgeneingaben. Sie nutzt den Puffermechanismus, der sie bei der Arbeit mit den Strings flexibler als die Scanner-Klasse macht.

    Die Klassen BufferedReader, IOException und InputStreamReader werden vom Paket java.io bereitgestellt, das wie folgt importiert wird:

    import java.io.*;
    

    Im Inneren versuchen Block, der „Puffer„Objekt der „BufferedReaderDie Klasse „wird mit dem InputStreamReader-Objekt erstellt. Es wird verwendet, um Daten in Form von Bytes zu lesen und sie dann in die angegebenen Zeichen umzuwandeln. Der Zeile lesen() Die Methode liest die Zeichenfolgeneingabe, die von „ aufgerufen wird.Puffer“ Objekt. Abschließend wird es gespeichert und angezeigt.

    Der fangen Block zeigt die Ausnahme an, die während der Ausführung des Codes auftreten kann:

    try {
        BufferedReader buffer =new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter a string");
        String str=buffer.readLine();
        System.out.println("The input is : " + "\"" + str +"\"");
    }
    catch(IOException e)
    {
        System.out.println(e);
    }
    

    Vollständiger Code und Ausgabe

  • Geben Sie mithilfe der Konsolenklasse eine Zeichenfolge ein
  • Die Java Console-Klasse wird für konsolenbasierte Anwendungen verwendet. Es ist einfach zu verwenden und bietet integrierte Methoden für Eingabe- und Ausgabefunktionen. Sie übernimmt die Lesevorgänge und Operationen über das Terminal, ist jedoch nicht so vielseitig wie die Scanner-Klasse.

    In Java gibt es zwei Varianten der Console-Klasse. Die grundlegende Syntax der Console-Klasse lautet wie folgt:

    public String readLine()
    

    Um die Konsole zu verwenden, importieren Sie sie zunächst über die folgende Codezeile in den Code:

    import java.io.Console;
    

    Eine Instanz der Console-Klasse „Konsole” wird erstellt, das die Methode readLine() aufruft. Die readLine()-Methode liest eine Datenzeile und speichert sie in der str-Variablen, die dann gedruckt wird:

    Console console=System.console();
    System.out.println("Enter a string");
    String str=console.readLine();
    System.out.println("The string is " + "\"" +str  + "\"" );
    

    Vollständiger Code

    Ausgabe

    Suchen Sie im Projektverzeichnis nach „src“ Ordner. Öffnen Sie CMD und geben Sie den folgenden Befehl an das Terminal ein, nachdem Sie den Platzhalter ersetzt haben:”:

    java <JavaFileName>
    

    Die Ausgabe ist wie folgt:

    Verwenden der formatierten Zeichenfolge in der Konsolenklasse

    Eine andere Variante der Console-Klasse akzeptiert zeichenbasierte Eingabeströme mit unterschiedlichen Zeichenfolgenformaten. Das Grundlegende Syntax ist wie folgt:

    public String readLine(String format, Object.. args)
    

    Um dies zu nutzen, importieren Sie zunächst die Console-Klasse aus dem java.io-Paket in den Code:

    import java.io.Console;
    

    Die String-Variable „Eingang” speichert die einzelne Zeile, die von gelesen wird Zeile lesen() Methode der Console-Klasse. Der „%S„Gibt das Zeichenfolgenformat an und schreibt die angegebene Zeichenfolge groß, z. B. „Zeichenfolge eingeben“. Der Wert der Eingabevariablen wird dann gedruckt:

    String input=System.console().readLine("%S","enter string");
    System.out.println("Output is " + "\"" + input +"\"");
    

    Vollständiger Code

    Ausgabe

    Innerhalb der „src”-Ordner des Java-Projektverzeichnisses, öffnen Sie CMD. Ersetzen Sie den Platzhalter „Geben Sie den Namen Ihrer Codedatei ein und geben Sie den folgenden Befehl an das Terminal ein:

    java <JavaFileName>
    

    Die Ausgabe ist wie folgt:

  • Geben Sie eine Zeichenfolge mithilfe von Befehlszeilenargumenten ein
  • Die Befehlszeilenargumente in Java sind die Argumente, die zum Zeitpunkt der Codeausführung übergeben werden. Solche Argumente bieten eine flexible Möglichkeit, mit den Daten umzugehen Konsole. Der einzige Nachteil besteht jedoch darin, dass die Befehlszeilenargumente die Eingabe nur einmal während der Programmierung akzeptieren.

    Der „String-Argumente ()“ im hauptsächlich() Methode sind bekannt als Standardargumente die zur Übernahme von Laufzeiteingaben verwendet werden. Benutzen wir das Befehlszeilenargumente um Zeichenfolgeneingaben des Benutzers entgegenzunehmen.

    Innerhalb der Hauptmethode wird die for-Schleife verwendet, um die Zeichenfolgeneingabe dynamischer Länge zu akzeptieren. Der args(i) gibt eine Zeichenfolge ein, die dann gespeichert wird „str“. Der Wert der Variablen wird dann auf der Konsole angezeigt: Im Header der hauptsächlich() Methode, die String-Argumente() sind die Standardargumente:

    for (int i = 0; i < args.length; i++)
    {
        String str = args(i);
        System.out.print(str+" ");
    }
    

    Ausgabe

    Um die Codedatei auszuführen, navigieren Sie zu „src”-Ordner des Projektverzeichnisses und öffnen Sie CMD. Geben Sie den folgenden Befehl an das Terminal ein, nachdem Sie den Platzhalter ersetzt haben:” mit dem Namen Ihrer Datei:

    java <JavaFileName>
    

    Die Ausgabe ist wie folgt:

    Das ist alles aus diesem Leitfaden.

    Abschluss

    In Java werden die String-Datentypen verwendet, um zeichenbasierte Eingaben aus verschiedenen Quellen zu akzeptieren. Um eine Zeichenfolge in Java einzugeben, verwenden Sie die integrierten Methoden der Scanner-, Console- oder BufferedReader-Klasse oder geben Sie die Eingabe über die Befehlszeilenargumente ein.

    Die Scanner-Klasse ist einfach zu verwenden, unterstützt jedoch keine großen String-Eingaben. Die BufferedReader-Klasse verarbeitet große Datenmengen effizient, erfordert jedoch für den normalen Betrieb Bibliotheken. Die Console-Klasse ist einfach, bietet aber keine Flexibilität und Interaktivität für den Code.

    In diesem Artikel wurden verschiedene Methoden zur String-Eingabe in Java besprochen und implementiert.

    Kommentar verfassen

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    Nach oben scrollen