5
respostas

Dúvida sobre declaração de variáveis no exercício

Olá! Eu ainda não conferi o resultado do instrutor e o meu código ficou assim, seguindo as instruções do exercício:

public static void main(String[] args) {

    for (int numero = 0 ; numero <= 100 ; numero++) {

        if (numero % 3 == 0) {

            System.out.println(numero);
        }
    }
}

esse código funciona, mas a minha dúvida é: por que? Já que minha variável número é do tipo "int" e não um double ou um float, portanto não pode possuir "números quebrados"?

5 respostas

Olá Aurélio, tudo certo?

A operação módulo de um número encontra o resto da divisão de um número por outro.

Dados dois números a (o dividendo) e b (o divisor), a modulo b (a mod b) é o resto da divisão de a por b. Por exemplo, 7 mod 3 seria 1, enquanto 9 mod 3 seria 0.

O seu código funciona pois se um número qualquer módulo de 3 = 0, quer dizer que ele é múltiplo de 3.

Sim, a forma como o módulo funciona eu entendi, eu só não entendi por que ele funciona com variáveis "int", e não só com pontos flutuantes.

Eae Aurélio, blz? Sou um estudante em Java também e achei estranho sua pergunta, pois a variável "numero" é incrementada de 1 em 1 e em nenhum momento recebe número quebrado. Em que momento do código você acha que existe número quebrado?

O código verifica de 1 em 1 se a divisão por 3 possui restos, correto?

if (numero % 3 == 0) {

        System.out.println(numero);

    }

A minha variável "número" é do tipo "int" e a minha dúvida é: pq o módulo funciona em variáveis do tipo "int" já que elas não admitem resto como as variáveis de tipo ponto flutuante? Como ela é capaz de reconhecer os números que tem resto e os que não tem?

Só para esclarecer, quando você fala em "resto" você está querendo dizer que seria um número quebrado, certo? Olha, sua variável "numero" sempre recebe um valor inteiro, e por isso não precisa ser de outro tipo que não seja "int". O que você tem que se atentar é a operação (numero % 3 == 0), pois aqui o importante é o que sobra da divisão de sua variável "numero" por 3, se for 0 entra no IF e imprimi o valor da variável "numero".