CodeGym /Java blogg /Slumpmässig /Finns det nextChar() i Scanner Class i Java?
John Squirrels
Nivå
San Francisco

Finns det nextChar() i Scanner Class i Java?

Publicerad i gruppen
Att ta teckeninmatning i Java är inte så enkelt som att ta indata som en sträng eller heltal. Skannerklassen i Java fungerar med nextInt() , nextLong() , nextDouble() , etc. Den stöder dock inte nextChar i Java, vilket gör det lite mer komplicerat att ta teckeninmatning. Om du funderar på att ta char-inmatning i Java och nextChar() inte fungerar, så här kan du ta indata som char på rätt sätt.

nextChar() skannerklass i Java

Det finns ingen klassisk nextChar() -metod i Java Scanner-klassen. Det bästa och enklaste alternativet till att ta char-inmatning i Java skulle vara next().charAt(0) . Kommandot charAt(0) används i kombination med det enkla kommandot next() som instruerar Java att spela in nästa tecken eller sträng som matas in på kommandoraden. Denna inmatning kan vara en sträng, ett tecken eller en siffra. Kommandot charAt är ett sätt att filtrera de oönskade datatyperna och begränsar endast inmatningen till char-datatyp. Eftersom charAt endast returnerar utdata i form av ett char-värde, konverterar det vilken typ av datatyp som helst till en char-typ. För att ta en teckeninmatning med Scanner och next(), kan du använda dessa två rader kod.

Scanner input = new Scanner (system.in);
char a = input.next().charAt(0);
När du använder next() , talar du om för Java att det är på väg att acceptera en inmatning av en ospecificerad datatyp. Denna inmatning kan innehålla ett oändligt antal tecken. Men genom att använda kommandot charAt och skicka '0' som index, tar du bara ett enda tecken som indata och lagrar det i en variabel. Returvärdet för inmatningsraden kommer att vara ett enda tecken. Eftersom vi instruerade kompilatorn att acceptera vilken input den skulle ta emot härnäst, bryr den sig inte om att bara ett enda tecken initierades. Kodningsexempel för att acceptera en teckeninmatning i Java skrivs nedan.

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);
       }
   }
Utgången är:
Mata in valfritt tecken: l Variabeln A innehåller följande data: l
Det finns andra alternativ för att acceptera teckeninmatning från användare i Java. Du kan använda reader.useDelimiter(“”) och reader.next() som också är ett intuitivt sätt att få uppgiften gjord.
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION