1

BlueJ を IDE として使用して、Java でアルゴリズムを実行しています。問題を解決するためにトラックバックアルゴリズムを使用すると、checkstyle を除いてすべてが完全に機能します。チェックスタイル エラーは次のとおりです。

Assignment of parameter i is not allowed [on line 336] 
Assignment of parameter j is not allowed [on line 337]

ただ、トラックバックは変数を引数として渡したり、状況に応じて編集したりする必要があるので、どうしようもありません。

これを修正する方法を知っている人はいますか?これは私のコードです(エラー行はコメントされています):

 public boolean solve(int i, int j) {
        if (i == 9) {
            i = 0; // line 336
            if (++j == 9) { // line 337
                return true;
        }
        }
        ...
        for (int value = 1; value <= 9; ++value) {
            if (possible[value]) {  
                setCell(i,j,value);  
                if (solve(i+1,j)) {
                    return true;
                }
            }
        }
        game[i][j] = 0;
        return false;
}
4

1 に答える 1

5

Checkstyle はメソッドの引数を変更することは悪い習慣であると見なすため、警告が表示されます。悪い習慣と思わない場合は無視する (または checkstyle 構成を変更する) か、引数のコピーで動作するようにコードを変更します。

public boolean solve(int iIndex, int jIndex) {
    int i = iIndex;
    int j = jIndex;
    // same code as before
}
于 2011-05-23T10:04:34.097 に答える