8

を使用する必要Scannerがあるため、nextChar()代わりにnextLine()使用できるメソッドはありますか?

ありがとう!

4

4 に答える 4

6

(編集で指摘したように)を使用する必要ある場合は、これを試してください:Scanner

myScanner.useDelimiter("(?<=.)");

myScanner文字ごとに読む必要があります。


代わりにa を使用することをお勧めしBufferedReaderます (可能であれば) -read単一の文字を読み取るメソッドがあります。たとえば、これはファイルの最初の文字を読み取って出力します。

BufferedReader br = new BufferedReader(new FileReader("somefile.txt"));
System.out.println((char)br.read());
br.close();
于 2012-11-13T22:36:44.303 に答える
2

を使用して行を文字に分割しString.toCharArray()ます。

于 2012-11-13T22:37:09.577 に答える
2

文字の配列に変換できます。

import java.io.*;
import java.util.Scanner;


public class ScanXan {
    public static void main(String[] args) throws IOException {
        Scanner s = null;
        try {
            s = new Scanner(new BufferedReader(new FileReader("yourFile.txt")));
            while (s.hasNext())
            {
               String str = s.next(); 
                char[] myChar = str.toCharArray();
                // do something
            }
        } finally {
            if (s != null) {
                s.close();
            }
        }
    }
于 2012-11-13T22:40:36.233 に答える
0

使用することにコミットしている場合は、Scanner使用できますnext(String pattern)

String character = scanner.next(".");

上記は、String長さ 1 の a を返します。つまり、文字を取得しますが、文字列として取得します。

于 2012-11-13T22:40:22.663 に答える