Como Verificar se um Número é Divisível por Outro em Java

JavaBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se um número é divisível por outro em Java. Exploraremos o uso do operador módulo (%) para determinar a divisibilidade, verificando se o resto de uma divisão é zero.

Você praticará o uso do operador módulo com diferentes números e divisores, e também aprenderá como lidar com o caso especial da divisão por zero para evitar erros em seus programas Java.

Use o Módulo para Divisibilidade

Nesta etapa, exploraremos como usar o operador módulo (%) em Java para verificar a divisibilidade. O operador módulo fornece o resto de uma divisão. Se o resto de uma divisão for 0, isso significa que o número é perfeitamente divisível pelo divisor.

Vamos criar um novo programa Java para demonstrar isso.

  1. Abra o diretório ~/project no Explorador de Arquivos à esquerda.

  2. Clique com o botão direito no espaço vazio dentro do diretório ~/project e selecione "Novo Arquivo".

  3. Nomeie o novo arquivo DivisibilityCheck.java.

  4. Abra o arquivo DivisibilityCheck.java no Editor de Código.

  5. Copie e cole o seguinte código no editor:

    public class DivisibilityCheck {
        public static void main(String[] args) {
            int number = 10;
            int divisor = 2;
    
            // Use the modulo operator to check for divisibility
            if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }
    
            number = 11;
            divisor = 3;
    
            if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }
        }
    }

    Vamos analisar as novas partes:

    • int number = 10;: Isso declara uma variável inteira chamada number e atribui a ela o valor 10.
    • int divisor = 2;: Isso declara uma variável inteira chamada divisor e atribui a ela o valor 2.
    • number % divisor: Esta é a operação de módulo. Ela calcula o resto quando number é dividido por divisor.
    • if (number % divisor == 0): Esta é uma instrução if. Ela verifica se o resultado da operação de módulo é igual a 0. Se for, o código dentro do bloco if é executado.
    • else: Se a condição na instrução if for falsa (o resto não é 0), o código dentro do bloco else é executado.
  6. Salve o arquivo (Ctrl+S ou Cmd+S).

  7. Abra o Terminal na parte inferior do WebIDE. Certifique-se de estar no diretório ~/project. Caso contrário, digite cd ~/project e pressione Enter.

  8. Compile o programa Java digitando o seguinte comando e pressionando Enter:

    javac DivisibilityCheck.java

    Se não houver erros, você não verá nenhuma saída. Um arquivo DivisibilityCheck.class será criado no diretório ~/project.

  9. Execute o programa Java compilado digitando o seguinte comando e pressionando Enter:

    java DivisibilityCheck

    Você deve ver a seguinte saída:

    10 is divisible by 2
    11 is not divisible by 3

Essa saída confirma que nosso programa usou corretamente o operador módulo para verificar a divisibilidade.

Teste com Diferentes Divisores

Na etapa anterior, verificamos a divisibilidade de 10 por 2 e 11 por 3. Agora, vamos modificar nosso programa para testar com diferentes números e divisores para ver como o operador módulo se comporta.

  1. Abra o arquivo DivisibilityCheck.java no editor WebIDE, caso ainda não esteja aberto.

  2. Vamos adicionar mais alguns exemplos ao método main. Adicione as seguintes linhas de código antes da chave de fechamento } do método main:

            System.out.println("\nTesting with different numbers:");
    
            number = 15;
            divisor = 5;
            if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }
    
            number = 20;
            divisor = 7;
            if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }
    
            number = 100;
            divisor = 10;
            if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }

    Adicionamos três novas verificações com diferentes valores para number e divisor. A linha System.out.println("\nTesting with different numbers:"); simplesmente adiciona uma linha em branco e um título para tornar a saída mais clara.

  3. Salve o arquivo DivisibilityCheck.java modificado (Ctrl+S ou Cmd+S).

  4. Abra o Terminal e certifique-se de estar no diretório ~/project.

  5. Compile o programa Java atualizado:

    javac DivisibilityCheck.java

    Novamente, se a compilação for bem-sucedida, você não verá nenhuma saída.

  6. Execute o programa compilado para ver os resultados com os novos casos de teste:

    java DivisibilityCheck

    Você deve ver a saída da etapa anterior, seguida pela saída dos novos casos de teste:

    10 is divisible by 2
    11 is not divisible by 3
    
    Testing with different numbers:
    15 is divisible by 5
    20 is not divisible by 7
    100 is divisible by 10

Ao adicionar esses casos de teste, você pode ver como o operador módulo identifica corretamente se um número é perfeitamente divisível por outro número. Este é um conceito fundamental usado em muitas tarefas de programação, como verificar números pares ou ímpares, ou realizar ações em intervalos regulares.

Lidar com Divisão por Zero

Na matemática, a divisão por zero é indefinida. Em programação, tentar dividir por zero (ou realizar uma operação de módulo com zero como divisor) normalmente causará um erro. É importante lidar com essa situação em seu código para evitar que seu programa trave.

Vamos modificar nosso programa DivisibilityCheck.java para incluir uma verificação de divisão por zero.

  1. Abra o arquivo DivisibilityCheck.java no editor WebIDE.

  2. Adicionaremos um novo caso de teste onde o divisor é 0. Adicione o seguinte código antes da chave de fechamento } do método main:

            System.out.println("\nTesting division by zero:");
    
            number = 10;
            divisor = 0;
    
            if (divisor == 0) {
                System.out.println("Error: Division by zero is not allowed.");
            } else if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }

    Aqui está o que adicionamos:

    • if (divisor == 0): Esta é uma nova instrução if que verifica se a variável divisor é igual a 0.
    • System.out.println("Error: Division by zero is not allowed.");: Se o divisor for 0, esta linha imprime uma mensagem de erro.
    • else if (number % divisor == 0): Esta é uma instrução else if. Ela é verificada somente se a primeira condição if (divisor == 0) for falsa. É aqui que realizamos a verificação do módulo, mas somente se o divisor não for zero.
  3. Salve o arquivo DivisibilityCheck.java modificado.

  4. Abra o Terminal e certifique-se de estar no diretório ~/project.

  5. Compile o programa Java atualizado:

    javac DivisibilityCheck.java
  6. Execute o programa compilado:

    java DivisibilityCheck

    Você deve ver a saída das etapas anteriores, seguida pela saída do caso de teste de divisão por zero:

    10 is divisible by 2
    11 is not divisible by 3
    
    Testing with different numbers:
    15 is divisible by 5
    20 is not divisible by 7
    100 is divisible by 10
    
    Testing division by zero:
    Error: Division by zero is not allowed.

Ao adicionar a verificação if (divisor == 0), tornamos nosso programa mais robusto, evitando um potencial erro quando o divisor é zero. Este é um aspecto importante da escrita de código confiável.

Resumo

Neste laboratório, aprendemos como verificar se um número é divisível por outro número em Java usando o operador módulo (%). Criamos um programa Java DivisibilityCheck.java e usamos a instrução if para verificar se o resto da divisão (number % divisor) é igual a 0. Se o resto for 0, o número é divisível pelo divisor. Demonstramos isso com exemplos onde o número é divisível e onde não é.