Pergunta

Estou fazendo um algoritmo em Java usando BlueJ como IDE.eu uso rastrear algoritmo para resolver o problema e tudo funciona perfeitamente, exceto o checkstyle.Os erros de estilo de verificação são:

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

Porém, como o trackback exige que as variáveis ​​sejam passadas como argumentos e também editadas de acordo com a situação, não posso fazer nada a respeito.

Alguém sabe como consertar isso?Este é o meu código (as linhas de erro são comentadas):

 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;
}
Foi útil?

Solução

Você recebe um aviso porque Checkstyle considera que modificar os argumentos do método é uma má prática.Ignore-o (ou altere a configuração do checkstyle) se você não considerar isso uma prática inadequada, ou altere o código para funcionar em cópias dos argumentos:

public boolean solve(int iIndex, int jIndex) {
    int i = iIndex;
    int j = jIndex;
    // same code as before
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top