0

ループからの以前の値と新しい値を比較し、データに基づいていくつかの行をインクリメントしたい.

    for (RecordData recordData : recordDataList) {      
        prevRespondentId = recordData.getRespondentId();
        if (recordData.getRespondentId() != prevRespondentId) {
             rowDataNumber++;
        }
        prevRespondentId = recordData.getRespondentId();
    }

回答者 ID として 1,2,3 のようなデータがあり、その増分データに基づいて新規および前を確認する必要があります。

4

3 に答える 3

1

これで問題は解決しますか?

    prevRespondentId = recordDataList.get(0).getRespondentId(); //Initialize to first or default value probably -1?

    for (RecordData recordData : recordDataList) {
                if (recordData.getRespondentId() != prevRespondentId) {
                rowDataNumber++;
            }
            prevRespondentId = recordData.getRespondentId();
        }

基本的に、チェックする前であっても prevRespondentId を上書きしているため、問題が発生しています。

于 2012-10-16T10:04:45.917 に答える
0
 ..some type.. prevRespondentId = -1;
 for (RecordData recordData : recordDataList) {
     if (recordData.getRespondentId() != prevRespondentId) {
         rowDataNumber++;
     }
     prevRespondentId = recordData.getRespondentId();
 }
于 2012-10-16T10:05:05.640 に答える
0

あなたが何をしようとしているのかを理解するのは難しいですが、おそらく次のようなものです:

for (RecordData recordData : recordDataList) {
        if (recordData.getRespondentId() != prevRespondentId) {
            rowDataNumber++;
        }
        prevRespondentId = recordData.getRespondentId();
}

基本的に、if チェックが完了するまで preRespondentId をオーバーライドしないでください。これにより、常に前の回答者 ID になることが保証されます。もちろん、初期化する必要があります。

それが役立つことを願っています。

于 2012-10-16T10:04:47.503 に答える