A geometria é uma área fascinante da matemática, e calcular áreas e perímetros de figuras geométricas é uma tarefa essencial em diversas aplicações. Este artigo apresenta um programa em Java que oferece um menu interativo ao usuário, permitindo o cálculo de área e perímetro de quatro figuras geométricas: quadrado, retângulo, triângulo e círculo. O objetivo é fornecer uma solução prática e educativa para consolidar conceitos de geometria e lógica de programação.
Estrutura do Programa
O programa utiliza a classe Scanner
para entrada de dados e um menu interativo controlado por um loop do-while
. Ele segue estas etapas:
- Apresentação do Menu
O menu exibe as opções disponíveis:1
: Quadrado2
: Retângulo3
: Triângulo4
: Círculo5
: Sair
- Entrada e Cálculos
Dependendo da escolha do usuário, o programa solicita os dados necessários:- Quadrado: Lado.
- Retângulo: Lado 1 e lado 2.
- Triângulo: Base e altura.
- Círculo: Raio.
A partir desses valores, ele calcula a área e o perímetro da figura geométrica selecionada.
- Saída de Dados
Os resultados são exibidos com duas casas decimais, usando o métodoSystem.out.printf
. - Validação de Opções
O programa verifica se a opção é válida e só encerra quando o usuário escolhe a opção5
.
Código Completo
Aqui está o código completo:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner ler = new Scanner(System.in);
int opcao;
do {
System.out.println("Escolha uma opção:");
System.out.println("1 - Quadrado");
System.out.println("2 - Retângulo");
System.out.println("3 - Triângulo");
System.out.println("4 - Círculo");
System.out.println("5 - SAIR");
System.out.print("Digite a opção desejada: ");
opcao = ler.nextInt();
switch (opcao) {
case 1:
System.out.print("Digite o lado do quadrado: ");
double ladoQuadrado = ler.nextDouble();
double areaQuadrado = ladoQuadrado * ladoQuadrado;
double perimetroQuadrado = 4 * ladoQuadrado;
System.out.printf("Área do quadrado: %.2f\n", areaQuadrado);
System.out.printf("Perímetro do quadrado: %.2f\n", perimetroQuadrado);
break;
case 2:
System.out.print("Digite o lado 1 do retângulo: ");
double lado1Retangulo = ler.nextDouble();
System.out.print("Digite o lado 2 do retângulo: ");
double lado2Retangulo = ler.nextDouble();
double areaRetangulo = lado1Retangulo * lado2Retangulo;
double perimetroRetangulo = 2 * (lado1Retangulo + lado2Retangulo);
System.out.printf("Área do retângulo: %.2f\n", areaRetangulo);
System.out.printf("Perímetro do retângulo: %.2f\n", perimetroRetangulo);
break;
case 3:
System.out.print("Digite a base do triângulo: ");
double baseTriangulo = ler.nextDouble();
System.out.print("Digite a altura do triângulo: ");
double alturaTriangulo = ler.nextDouble();
double areaTriangulo = (baseTriangulo * alturaTriangulo) / 2;
double perimetroTriangulo = 3 * baseTriangulo;
System.out.printf("Área do triângulo: %.2f\n", areaTriangulo);
System.out.printf("Perímetro do triângulo: %.2f\n", perimetroTriangulo);
break;
case 4:
System.out.print("Digite o raio do círculo: ");
double raioCirculo = ler.nextDouble();
double areaCirculo = Math.PI * raioCirculo * raioCirculo;
double perimetroCirculo = 2 * Math.PI * raioCirculo;
System.out.printf("Área do círculo: %.2f\n", areaCirculo);
System.out.printf("Perímetro do círculo: %.2f\n", perimetroCirculo);
break;
case 5:
System.out.println("Saindo...");
break;
default:
System.out.println("Opção inválida! Tente novamente.");
break;
}
} while (opcao != 5);
}
}
Explicação dos Cálculos
- Quadrado:
- Área = lado²
- Perímetro = 4 × lado
- Retângulo:
- Área = lado1 × lado2
- Perímetro = 2 × (lado1 + lado2)
- Triângulo:
- Área = (base × altura) ÷ 2
- Perímetro = aproximação usando 3 × base (considerando equilátero para simplicidade).
- Círculo:
- Área = π × raio²
- Perímetro = 2 × π × raio
Exemplo de Execução
Entrada do usuário:
- Opção:
1
(Quadrado) - Lado:
5
Saída:
Área do quadrado: 25.00
Perímetro do quadrado: 20.00
Conclusão
Este programa é um exemplo prático de como combinar conceitos matemáticos e lógica de programação para resolver problemas do dia a dia. Ele pode ser expandido para incluir mais figuras ou validar entradas de maneira mais robusta. Experimente personalizá-lo para suas necessidades e pratique seus conhecimentos de Java!