top of page

O Uso do Do-While em Java


ree

O laço do-while é uma estrutura de repetição em Java que garante que o bloco de código seja executado pelo menos uma vez antes de verificar a condição de continuidade. Diferente do while, que avalia a condição antes da execução, o do-while avalia a condição após a primeira execução.

Estrutura do Do-While

A sintaxe do do-while é a seguinte:

 do {
    // Bloco de código a ser executado pelo menos uma vez
 } while (condicao);

O bloco de código será executado uma vez e, em seguida, a expressão da condição será avaliada. Se a condição for verdadeira, o laço se repete; caso contrário, a execução é encerrada.


O do-while é uma ferramenta útil quando precisamos garantir que um bloco de código seja executado pelo menos uma vez. Ele é comumente usado em situações onde os dados do usuário precisam ser lidos antes da verificação da condição. Praticar com esses exercícios ajudará a entender melhor seu funcionamento.

10 Exercícios em Java com Entrada de Dados e Uso do do-while

Neste artigo, você encontrará 10 exercícios que combinam a prática de entrada de dados com o uso do laço do-while. Essa estrutura garante que o bloco de código seja executado pelo menos uma vez e, ao término de cada operação, permite que o usuário escolha se deseja repetir o exercício. Os exemplos a seguir podem ser testados na IDE Eclipse, criando um novo projeto Java e adicionando cada classe em arquivos separados.

Exercício 1: Conversão de Celsius para Fahrenheit

Neste exercício, o usuário informa a temperatura em Celsius e o programa converte para Fahrenheit.

import java.util.Scanner;

public class ConversaoCelsiusFahrenheit {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char repetir;
        
        do {
            System.out.print("Digite a temperatura em Celsius: ");
            double celsius = scanner.nextDouble();
            double fahrenheit = celsius * 9/5 + 32;
            System.out.println("Temperatura em Fahrenheit: " + fahrenheit);
            
            System.out.print("Deseja repetir? (s/n): ");
            repetir = scanner.next().charAt(0);
        } while (repetir == 's' || repetir == 'S');
        
        scanner.close();
    }
}

Exercício 2: Conversão de Fahrenheit para Celsius

Aqui, o usuário informa a temperatura em Fahrenheit e o programa converte para Celsius.

import java.util.Scanner;

public class ConversaoFahrenheitCelsius {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char repetir;
        
        do {
            System.out.print("Digite a temperatura em Fahrenheit: ");
            double fahrenheit = scanner.nextDouble();
            double celsius = (fahrenheit - 32) * 5/9;
            System.out.println("Temperatura em Celsius: " + celsius);
            
            System.out.print("Deseja repetir? (s/n): ");
            repetir = scanner.next().charAt(0);
        } while (repetir == 's' || repetir == 'S');
        
        scanner.close();
    }
}

Exercício 3: Conversão de Real para Dólar

Utilizando uma cotação fixa (1 Dólar = 5 Reais), o usuário informa um valor em Reais e o programa converte para Dólares.

import java.util.Scanner;

public class ConversaoRealDolar {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char repetir;
        final double cotacao = 5.0;
        
        do {
            System.out.print("Digite o valor em Reais: ");
            double reais = scanner.nextDouble();
            double dolar = reais / cotacao;
            System.out.println("Valor em Dólares: " + dolar);
            
            System.out.print("Deseja repetir? (s/n): ");
            repetir = scanner.next().charAt(0);
        } while (repetir == 's' || repetir == 'S');
        
        scanner.close();
    }
}

Exercício 4: Conversão de Dólar para Real

Neste exercício, o usuário informa um valor em Dólares e o programa converte para Reais (utilizando a mesma cotação de 1 Dólar = 5 Reais).

import java.util.Scanner;

public class ConversaoDolarReal {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char repetir;
        final double cotacao = 5.0;
        
        do {
            System.out.print("Digite o valor em Dólares: ");
            double dolar = scanner.nextDouble();
            double reais = dolar * cotacao;
            System.out.println("Valor em Reais: " + reais);
            
            System.out.print("Deseja repetir? (s/n): ");
            repetir = scanner.next().charAt(0);
        } while (repetir == 's' || repetir == 'S');
        
        scanner.close();
    }
}

Exercício 5: Conversão de Quilômetros para Milhas

Considerando que 1 km ≈ 0.621371 milhas, o programa converte a distância informada em quilômetros para milhas.

import java.util.Scanner;

public class ConversaoKmMilhas {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char repetir;
        final double fator = 0.621371;
        
        do {
            System.out.print("Digite a distância em quilômetros: ");
            double km = scanner.nextDouble();
            double milhas = km * fator;
            System.out.println("Distância em milhas: " + milhas);
            
            System.out.print("Deseja repetir? (s/n): ");
            repetir = scanner.next().charAt(0);
        } while (repetir == 's' || repetir == 'S');
        
        scanner.close();
    }
}

Exercício 6: Conversão de Metros para Pés

Utilizando o fator de conversão 1 metro ≈ 3.28084 pés, o programa realiza a conversão da medida em metros para pés.

import java.util.Scanner;

public class ConversaoMetrosPes {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char repetir;
        final double fator = 3.28084;
        
        do {
            System.out.print("Digite a medida em metros: ");
            double metros = scanner.nextDouble();
            double pes = metros * fator;
            System.out.println("Medida em pés: " + pes);
            
            System.out.print("Deseja repetir? (s/n): ");
            repetir = scanner.next().charAt(0);
        } while (repetir == 's' || repetir == 'S');
        
        scanner.close();
    }
}

Exercício 7: Soma de Dois Números

O usuário informa dois números e o programa exibe a soma dos valores.

import java.util.Scanner;

public class SomaDoisNumeros {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char repetir;
        
        do {
            System.out.print("Digite o primeiro número: ");
            double num1 = scanner.nextDouble();
            System.out.print("Digite o segundo número: ");
            double num2 = scanner.nextDouble();
            
            double soma = num1 + num2;
            System.out.println("A soma é: " + soma);
            
            System.out.print("Deseja repetir? (s/n): ");
            repetir = scanner.next().charAt(0);
        } while (repetir == 's' || repetir == 'S');
        
        scanner.close();
    }
}

Exercício 8: Subtração de Dois Números

O programa lê dois números e exibe o resultado da subtração (minuendo - subtraendo).

import java.util.Scanner;

public class SubtracaoDoisNumeros {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char repetir;
        
        do {
            System.out.print("Digite o minuendo: ");
            double num1 = scanner.nextDouble();
            System.out.print("Digite o subtraendo: ");
            double num2 = scanner.nextDouble();
            
            double resultado = num1 - num2;
            System.out.println("O resultado da subtração é: " + resultado);
            
            System.out.print("Deseja repetir? (s/n): ");
            repetir = scanner.next().charAt(0);
        } while (repetir == 's' || repetir == 'S');
        
        scanner.close();
    }
}

Exercício 9: Multiplicação de Dois Números

Neste exercício, o usuário informa dois números e o programa mostra o resultado da multiplicação.

import java.util.Scanner;

public class MultiplicacaoDoisNumeros {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char repetir;
        
        do {
            System.out.print("Digite o primeiro número: ");
            double num1 = scanner.nextDouble();
            System.out.print("Digite o segundo número: ");
            double num2 = scanner.nextDouble();
            
            double resultado = num1 * num2;
            System.out.println("O resultado da multiplicação é: " + resultado);
            
            System.out.print("Deseja repetir? (s/n): ");
            repetir = scanner.next().charAt(0);
        } while (repetir == 's' || repetir == 'S');
        
        scanner.close();
    }
}

Exercício 10: Divisão de Dois Números

O programa realiza a divisão de dois números, verificando se o divisor é diferente de zero para evitar erro.

import java.util.Scanner;

public class DivisaoDoisNumeros {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char repetir;
        
        do {
            System.out.print("Digite o dividendo: ");
            double num1 = scanner.nextDouble();
            System.out.print("Digite o divisor: ");
            double num2 = scanner.nextDouble();
            
            if(num2 == 0) {
                System.out.println("Erro: Divisão por zero não é permitida.");
            } else {
                double resultado = num1 / num2;
                System.out.println("O resultado da divisão é: " + resultado);
            }
            
            System.out.print("Deseja repetir? (s/n): ");
            repetir = scanner.next().charAt(0);
        } while (repetir == 's' || repetir == 'S');
        
        scanner.close();
    }
}

Cada um desses exemplos utiliza o laço do-while para garantir que a operação seja executada pelo menos uma vez, e ao final, o programa pergunta se o usuário deseja repetir o processo. Essa abordagem é muito útil para fixar conceitos de conversão, cálculos aritméticos e a interação com o usuário.

Experimente os códigos, teste cada um deles na sua IDE Eclipse e sinta-se à vontade para modificar ou combinar os exercícios conforme sua necessidade.

 
 
 

Comentários


CONTATO
REDES SOCIAIS

Distrito Agrícola de Ubu

Goiana - PE 55900-000

              

              81 9 9193-1883

  • Facebook ícone social
  • Instagram
  • X
  • YouTube
Whatsapp
nascimento networks symbol new_edited.pn
SCM - ISM
Nascimento Networks Empire

©2025 Nascimento Networks Technologies    CNPJ: 50.191.234/0001-31

Protegido com tecnologia desenvolvida 

em Israel.

bottom of page