2

Java の Scanner クラスでは、なぜ構文が存在しないのですか? また、変数nextChar()を使用せずに同様のことを行うコマンドはありますか?String

4

4 に答える 4

4

2 つのソリューション:

  • use : foreach ループを使用できる をtoCharArray()返します。char[]
  • と組み合わせて文字列の長さを使用します.charAt()
于 2013-01-07T21:58:29.587 に答える
1

Java の Scanner クラスは、出力の完全な単位であるトークンで動作します。これは通常、完全な単語、テキスト行、数値 (integer、double、float など) です。個々の文字を読みたい場合は、このような構成で BufferedReader を使用する必要があります

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

System.inスキャナーに使用している入力に置き換えます。次にchar c = (char)in.read()、入力から次の文字を読み取るために使用します。

于 2013-01-07T22:04:44.647 に答える
1

char レベルのアクセスが必要な場合は、1 つ下のレベルに移動して、単純に InputStream インターフェイスを使用できます。

public class Test
{
    public static void main(String[] args) throws Exception
    {
        while (true)
        {
            char c = (char)System.in.read();
            System.out.println("[" + c + "]");
        }
    }
}
于 2013-01-07T22:05:59.430 に答える