CodeGym /Java Blog /ランダム /JavaのスキャナクラスにnextChar()はありますか?
John Squirrels
レベル 41
San Francisco

JavaのスキャナクラスにnextChar()はありますか?

ランダム グループに公開済み
Java で文字入力を取得することは、入力を文字列または整数として取得するほど単純ではありません。Java の Scanner クラスは、nextInt()nextLong()nextDouble()などで動作します。ただし、Java ではnextChar をサポートしていないため、文字入力の取得が若干複雑になります。Java で char 入力を取得しようとしていて、nextChar() が機能しない場合は、入力を char として適切に取得する方法を次に示します。

JavaのnextChar()スキャナクラス

Java Scanner クラスには従来のnextChar()メソッドはありません。Java で char 入力を取得するための最良かつ最も簡単な代替手段は、 next().charAt(0)です。charAt (0)コマンドは、コマンド ラインに入力される次の文字または文字列を記録するように Java に指示する単純なnext()コマンドと組み合わせて使用​​されます。この入力には、文字列、文字、または数値を指定できます。charAtコマンドは、不要なデータ型フィルタリングし、入力を char データ型のみに制限する方法です。charAt はchar 値の形式でのみ出力を返すため、あらゆる種類のデータ型を char 型に変換します。Scanner と next()を使用して文字入力を取得するには、これらの 2 行のコードを使用できます。

Scanner input = new Scanner (system.in);
char a = input.next().charAt(0);
next() を使用すると、Java に、未指定のデータ型の入力を受け入れようとしていることを伝えます。この入力には無限の文字を含めることができます。ただし、charAtコマンドを使用してインデックスとして「0」を渡すと、入力として 1 文字を取得して変数に格納するだけになります。入力行の戻り値は 1 文字になります。次に受け取る入力をすべて受け入れるようにコンパイラーに指示したため、初期化される文字が 1 つだけであっても気にしません。Java で char 入力を受け入れるためのコーディング例を以下に示します。

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);
       }
   }
出力は次のとおりです。
任意の文字を入力します: l 変数 A には次のデータが含まれます: l
Java でユーザーからの文字入力を受け入れる別の方法もあります。Reader.useDelimiter("")Reader.next()を使用することもできます。これもタスクを完了するための直感的な方法です。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION