CodeGym/Blog Java/Random-PL/Czy w klasie skanera w Javie jest nextChar()?
Autor
Volodymyr Portianko
Java Engineer at Playtika

Czy w klasie skanera w Javie jest nextChar()?

Opublikowano w grupie Random-PL
Wprowadzanie znaków w Javie nie jest tak proste, jak przyjmowanie danych wejściowych w postaci ciągu znaków lub liczby całkowitej. Klasa Scanner w Javie działa z nextInt() , nextLong() , nextDouble() itd. Jednak nie obsługuje nextChar w Javie, co sprawia, że ​​wprowadzanie znaków jest nieco bardziej skomplikowane. Jeśli chcesz wprowadzić dane wejściowe typu char w Javie, a nextChar() nie działa, oto jak możesz poprawnie wprowadzić dane wejściowe jako char.

Klasa skanera nextChar() w Javie

W klasie Java Scanner nie ma klasycznej metody nextChar() . Najlepszą i najprostszą alternatywą dla wprowadzania znaków char w Javie byłaby metoda next().charAt(0) . Polecenie charAt (0) jest używane w połączeniu z prostym poleceniem next() , które instruuje Javę, aby zapisała następny znak lub ciąg wprowadzony do wiersza poleceń. Dane wejściowe mogą być ciągiem znaków, znakami lub cyframi. Polecenie charAt umożliwia filtrowanie niechcianych typów danych i ogranicza wprowadzanie tylko do typu danych char. Ponieważ charAt zwraca dane wyjściowe tylko w postaci wartości char, konwertuje dowolny typ danych na typ char. Aby wprowadzić znak za pomocą skanera i next(), możesz użyć tych dwóch linii kodu.
Scanner input = new Scanner (system.in);
char a = input.next().charAt(0);
Kiedy używasz next() , mówisz Javie, że ma zamiar zaakceptować dane wejściowe nieokreślonego typu. To wejście może zawierać nieskończoną liczbę znaków. Jednak używając polecenia charAt i przekazując „0” jako indeks, pobierasz tylko jeden znak jako dane wejściowe i przechowujesz go w zmiennej. Wartość zwracana linii wejściowej będzie pojedynczym znakiem. Ponieważ poinstruowaliśmy kompilator, aby akceptował wszelkie dane wejściowe, które otrzyma w następnej kolejności, nie obchodzi go, że zainicjowany został tylko jeden znak. Przykłady kodowania akceptujące dane wejściowe typu char w Javie opisano poniżej.
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);
       }
   }
Dane wyjściowe to:
Wprowadź dowolny znak: l Zmienna A zawiera następujące dane: l
Istnieją inne alternatywy akceptowania danych wejściowych znaków od użytkowników w Javie. Możesz użyć funkcji reader.useDelimiter(“”) i reader.next(), co również jest intuicyjnym sposobem wykonania zadania.
Komentarze
  • Popularne
  • Najnowsze
  • Najstarsze
Musisz się zalogować, aby dodać komentarz
Ta strona nie ma jeszcze żadnych komentarzy