O Uso do Do-While em Java
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.