1

この問題は、質問を送信する前に最初に修正する必要があるコードの重大なエラーのため、今回は解決できません。

4

4 に答える 4

1

それ以外の:

if (result = true)

行う

if (result)

また、代わりに:

for (int index = 0; index < lineList.size() - 1; index =+2)

行う

for (int index = 0; index < lineList.size(); index +=2)

編集済み: for ステートメントに関する 2 つの問題:

  1. index < lineList.size() - 1最後のアイテムにはヒットしません。を削除- 1または変更<します<=
  2. インデックスはその値をインクリメントしません。に変更index =+2index +=2ます。
于 2012-04-23T12:35:51.073 に答える
0

私が見つけた明らかなバグの1つは次のとおりです。

if (result = true)

次のようになります。

if (result == true)
于 2012-04-23T12:34:08.687 に答える
0

ここに 1 つの問題があります。

 if (result = true)

あなたはおそらく次のように書くつもりでした:

 if (result == true)

このチェックを記述するより良い方法は次のとおりです。

 if (result)

また、off-by-one のバグがある可能性index < lineList.size() - 1もあります。ファイルに含まれる行数が奇数の場合、現在のコードは最後の行を無視します。この場合に何が起こると予想されるかは完全には明らかではないため、可能性があると言います。

最後に、すべてを 1 つのループで、リストを使用せずに (つまり、セットだけで) 実装できます。

于 2012-04-23T12:34:15.597 に答える
0

2 つのエラーがあるセクションがあります。私のサンプルと比較してください:

for (int index = 0; index < lineList.size() - 1; index += 2)
  if (usr.add(list.get(index))) System.out.println(list.get(index));

または、別のイディオムで:

boolean take = true;
for (String line : lineList) {
  if (take) usr.add(line);
  take = !take;
}
于 2012-04-23T12:38:09.500 に答える