1

行に疑問符が含まれているかどうかに基づいて、テキストファイルの要素をさまざまな配列に分割したいと思います。これが私が得た限りです。

    Scanner inScan = new Scanner(System.in);

    String file_name;
    System.out.print("What is the full file path name?\n>>");
    file_name = inScan.next();

    Scanner fScan = new Scanner(new File(file_name));
    ArrayList<String> Questions = new ArrayList();
    ArrayList<String> Other = new ArrayList();

    while (fScan.hasNextLine()) 
    {
        if(fScan.nextLine.indexOf("?"))
        {
            Questions.add(fScan.nextLine());
        }

        Other.add(fScan.nextLine());
    }
4

1 に答える 1

2

そこにはかなりの数の問題があります

  • nextLine() は実際には次の行を返し、スキャナー上を移動するため、代わりに一度読み取る必要があります
  • indexOf はブール値ではなく int を返します。C++ に慣れていると思いますか? 代わりに、次のいずれかを使用できます。
    • indexOf("?") >=0
    • 含む("?")
    • マッチ ("\?") など
  • Java の方法に従って、vars に camelCase を使用してください...

コード

public static void main(String[] args) throws FileNotFoundException {

    Scanner scanner = new Scanner(new File("foo.txt"));
    List<String> questions = new ArrayList<String>();
    List<String> other = new ArrayList<String>();
    while (scanner.hasNextLine()) {
        String line = scanner.nextLine();
        if (line.contains("?")) {
            questions.add(line);
        } else {
            other.add(line);
        }
    }
    System.out.println(questions);
    System.out.println(other);
}

foo.txt

line without question mark
line with question mark?
another line
于 2012-11-02T03:00:22.500 に答える