1
 codes = new Vector<String>();
 titles = new Vector<String>();
 urls = new Vector<String>();
 lecturers = new Vector<String>();
 while (m.find()) {
    String courseCode = m.group(1);
    String courseTitle = m.group(2);
    String courseURL = url;
    String lecturerName = m.group(4);
    codes.add(courseCode);
    titles.add(courseTitle);
    urls.add(courseURL);
    lecturers.add(lecturerName);
 }

10 ほどの Web サイトからデータを取得しようとしていますが、各グループを単独で印刷するだけで問題なく動作します。10個のcourseCodeのリストを出力しますが、それらをこれらのベクトルに追加しようとすると、それぞれではなく最後のcourseCodeのみが追加されます. したがって、各ベクトルには 10 個の要素が必要ですが、1 個しかありません。一致を繰り返す方法はありますか?

4

1 に答える 1

1

たぶん、正規表現は10回ではなく1回だけ一致します。whileループを反復処理する頻度を数えると、これを確認できます。最も簡単な方法は、ヘルプ変数を定義しint i=0;、ループ内でこの値を増やすi++;(そしてループ内またはループ外に出力する)ことです。また、whileループ内でベクターのサイズをチェックしてlist.size()、サイズが実際にどのように増加しているかを確認します。

于 2010-03-06T20:05:00.853 に答える