Ошибка контрольного стиля Java в BlueJ при использовании trackback

Я делаю алгоритм в Java, используя BlueJ в качестве IDE. Я использую алгоритм trackback для решения проблемы, и все работает отлично, за исключением контрольного стиля. Ошибки контрольного стиля:

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

Однако, поскольку trackback требует, чтобы переменные передавались в качестве аргументов, а также редактировались в соответствии с ситуацией, я ничего не могу с этим поделать.

Кто-нибудь знает, как это исправить? Это мой код (комментируются строки ошибок):

 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;
}

1 ответ

Решение

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

public boolean solve(int iIndex, int jIndex) {
    int i = iIndex;
    int j = jIndex;
    // same code as before
}
Другие вопросы по тегам