Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Declarar a variável contador antes do FOR não funciona

Na verdade a solução de declarar a variável antes do for para imprimir o valor final do contador, apresentada anteriormente neste fórum, não funciona, pois o compilador apresenta o erro "Duplicate local variable contador" (testei e o Eclipse recusou). Mas é possível, sim, imprimir o valor final do contador, atribuindo este valor a outra variável declarada fora do for (também testei e funcionou):

public class TestaFor {

public static void main(String[] args) {

    int contadorFinal = 0;    

    for(int contador = 0; contador < 10; contador++) {
        contadorFinal = contador;            
    }

    System.out.println(contadorFinal);
}

}

2 respostas
solução!

Olá Sérgio, tudo bem?

Você pode fazer a declaração da variável antes e utilizar dentro do for, o que você não poderia é adicionar o int antes, dessa forma ele iria pensar que vocês está querendo criar uma nova variável, ao invés de re-atribuir, por exemplo:

        int contador;

        for(contador = 0; contador <= 10; contador++){
            System.out.println(contador);
        }

        System.out.println("Valor final do contador: " + contador);
    }

Esse código compila, e roda normalmente:

1
[...]
9
10
Valor final do contador: 11
`

Agora assim:

        int contador;

        for( int contador = 0; contador <= 10; contador++){

De fato teríamos o problema que você citou da redeclaração de variável

Compreendeu?

Abraço se Bons Estudos!

Ok, entendi. Grato!