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
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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
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
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,