Вопрос

Я делаю алгоритм в Java, используя Bluej как IDE.Я использую Trackback алгоритм, чтобы решить проблему и все работает отлично, за исключением контрольной позиции.Ошибки 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;
}
.

Это было полезно?

Решение

Вы получаете предупреждение, потому что CheckStyle считает, что аргументы метода модиегов - плохая практика.Либо игнорируйте его (или измените конфигурацию CheckStyle), если вы не учитываете его как плохие практики, или измените код для работы на копиях аргументов:

public boolean solve(int iIndex, int jIndex) {
    int i = iIndex;
    int j = jIndex;
    // same code as before
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top