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

static int total = 0;

tenho uma duvida de porque quando eu inicializo uma variável com nome total fica dando erro e só e resolvido caso eu coloque static antes do int só acontece com o total sem falar que ele também fica azul como se fosse uma palavra chave

4 respostas

Olá Lucas,

Você pode postar o código da classe aqui?

Att,

public class testadivisoresde3 {
    static int total = 0;
    public static void main(String[] args) {
        for(int numero = 1; numero <= 90194 ; numero++) {
            if(numero % 3 == 0){
                total++;
            }    
        }
        System.out.println(total);
    }
}

coloquei 90194 só por brincadeira mais da certo

solução!

Lucas,

Esse erro que você relatou ocorre porque o método estático "main" pode acessar somente atibutos estáticos da classe.

O erro que aparece quando você tenta fazer esse tipo de acesso é o seguinte:

"Cannot make a static reference to the non-static field total"

Basicamente a mensagem diz que você não pode acessar um campo não estático de um método estático. O contrário também é valido, você não pode atribuir a uma variável estática o valor retornado de uma método não estático, ambos devem ser estáticos ou não estáticos.

Att,