CodeGym /Java blog /Véletlen /Van nextChar() a Java szkenner osztályban?
John Squirrels
Szint
San Francisco

Van nextChar() a Java szkenner osztályban?

Megjelent a csoportban
A karakterbevitel Java nyelven nem olyan egyszerű, mint karakterláncként vagy egész számként. A Java Scanner osztály a nextInt() , nextLong() , nextDouble() stb. függvényekkel működik. A Java-ban azonban nem támogatja a nextChar funkciót , ami kissé bonyolultabbá teszi a karakterbevitelt. Ha char bevitelt szeretne Javaban használni, és a nextChar() nem működik, a következőképpen veheti fel megfelelően a bemenetet charként.

nextChar() szkenner osztály Java nyelven

A Java Scanner osztályban nincs klasszikus nextChar() metódus. A Java char bevitelének legjobb és legegyszerűbb alternatívája a next().charAt(0) lenne . A charAt(0) parancs az egyszerű next() paranccsal együtt használatos, amely arra utasítja a Java-t, hogy rögzítse a parancssorba beírt következő karaktert vagy karakterláncot. Ez a bemenet lehet karakterlánc, karakter vagy szám. A charAt parancs a nem kívánt adattípusok szűrésének egyik módja, és csak a char adattípusra korlátozza a bevitelt. Mivel a charAt csak char érték formájában adja vissza a kimenetet, bármilyen típusú adattípust char típussá alakít. Karakter beviteléhez a Scanner és a next(), használhatja ezt a két kódsort.

Scanner input = new Scanner (system.in);
char a = input.next().charAt(0);
A next() használatakor azt üzeni a Java-nak, hogy egy nem meghatározott adattípusú bemenetet fogad el. Ez a bemenet végtelen számú karaktert tartalmazhat. Ha azonban a charAt parancsot használja, és '0'-t ad meg indexként, akkor csak egyetlen karaktert vesz be bevitelként, és azt egy változóban tárolja. A beviteli sor visszatérési értéke egyetlen karakter lesz. Mivel arra utasítottuk a fordítót, hogy fogadja el a következő bemenetet, nem számít, hogy csak egyetlen karaktert inicializálták. Alább találhatók a kódolási példák a char bevitel Java nyelven történő elfogadására.

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);
       }
   }
A kimenet a következő:
Írjon be bármilyen karaktert: l Az A változó a következő adatokat tartalmazza: l
Vannak más alternatívák is a char-bevitel elfogadására a Java felhasználóktól. Használhatja a reader.useDelimiter(“”) és a reader.next() parancsot, amely szintén intuitív módja a feladat elvégzésének.

További olvasnivalók:

Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION