web-dev-qa-db-ja.com

文字を取得するスキャナーメソッド

Javaのキーボードから返されるScannerを取得するcharメソッドとは何ですか。

Stringの場合はnextLine()intの場合はnextInt()など.

14
bizarrechaos

charからScannerを取得するには、findInLineメソッドを使用できます。

_    Scanner sc = new Scanner("abc");
    char ch = sc.findInLine(".").charAt(0);
    System.out.println(ch); // prints "a"
    System.out.println(sc.next()); // prints "bc"
_

charからScannerの束が必要な場合、(おそらく一時的に)区切り文字を空の文字列に変更する方が便利かもしれません。これにより、next()は毎回長さ1の文字列を返します。

_    Scanner sc = new Scanner("abc");
    sc.useDelimiter("");
    while (sc.hasNext()) {
        System.out.println(sc.next());
    } // prints "a", "b", "c"
_
20

次のように Console API (Java 6)で表示される)を使用できます。

Console cons = System.console();
if(cons != null) {
  char c = (char) cons.reader().read();  // Checking for EOF omitted
  ...
}

1行だけが必要な場合は、リーダーオブジェクトを調べる必要もありません。

String s = cons.readLine();
4
Itay Maman

JavaのScannerクラスには、Scannerから文字ごとに読み取るための組み込みメソッドがありません。

http://Java.Sun.com/javase/6/docs/api/Java/util/Scanner.html

ただし、次のようにスキャナーから個々の文字を取得することは引き続き可能です。

Scanner sc:

char c = sc.findInLine(".").charAt(0);

そして、これを使用して、スキャナーの各文字を次のように取得できます。

while(sc.hasNext()){
    char c = sc.findInLine(".").charAt(0);
    System.out.println(c); //to print out every char in the scanner
}

FindInLine()メソッドはスキャナーを検索し、指定した正規表現に一致する最初のストリングを返します。

2
eipxen

sc.next()。charat(0).........は、実行時に入力された番号に基づいてユーザーが文字を入力する方法です。

例:sc.next()。charat(2)------------ >>>>>>>>

0
user3178887
Scanner sc = new Scanner (System.in)
char c = sc.next().trim().charAt(0);
0
Teena Sachdeva
Console cons = System.console();

上記のコード行は、null参照としてconsを作成します。コードと出力は次のとおりです。

Console cons = System.console();
if (cons != null) {
    System.out.println("Enter single character: ");
    char c = (char) cons.reader().read();
    System.out.println(c);
}else{
    System.out.println(cons);
}

出力:

ヌル

コードはJavaバージョン "1.6.0_37"でmacbook proでテストされました

0
Satish Singhal