Olá Alunos de ADS, vamos colocar em prática os conhecimentos adquiridos por você no decorrer da disciplina. Para esta Atividade 01, você irá desenvolver um programa na linguagem JAVA, utilizando a IDE NetBeans, para calcular a área de diferentes formas geométricas, como por exemplo: retângulo e triângulo. 1 - Crie uma classe abstrata denominada de "Poligono", 1.1 - Nesta classe, deverá ter um atributo para guardar a quantidade de lados e, um método para imprimir a quantidade de lados da forma. 1.2 - Na sequência, ainda dentro da classe Poligono, você deverá criar um método abstrato para calcular a área. 2 - Crie as subclasses Triangulo e Retangulo, 2.1 - Em ambas as classes, implemente o método de calcular a área de acordo com a forma. 2.2 - Em ambas as classes, devem ter atributos para o cálculo da área (como medida do lado ou altura). Deve haver uma forma de definir esses atributos, usando a classe Scanner. 2.3 - Ainda nas subclasses, implemente o método imprimir, neste deverá ser impresso qual é a forma, a quantidade de lados, o seu respectivo tamanho, bem como o resultado do cálculo da área. 3 - Crie uma classe Principal para gerenciar a interação.
Soluções para a tarefa
Resposta:
package atividade;
import java.util.Scanner;
public class Atividade {
public static void main(String[] args) {
int opcao = 0;
double l1 = 0;
double l2 = 0;
double l3 = 0;
do {
System.out.println("0 - Sair");
System.out.println("1 - Calcular Triângulo");
System.out.println("2 - Calcular Retângulo");
System.out.println("Digite uma opção: ");
Scanner scan = new Scanner(System.in);
opcao = scan.nextInt();
switch (opcao){
case 1: //Triângulo
try {
System.out.print("Digite a base(m): ");
l1 = scan.nextDouble();
System.out.print("Digite o cateto(m): ");
l2 = scan.nextDouble();
System.out.print("Digite o cateto oposto(m): ");
l3 = scan.nextDouble();
Triangulo Obj = new Triangulo(l1, l2, l3);
Obj.Imprimir();
} catch (Exception e) {
System.out.println("Valor Incorreto! Reinicie o processo...\n");
}
break;
case 2: //Retângulo
try {
System.out.print("Digite a altura(m): ");
l1 = scan.nextDouble();
System.out.print("Digite o largura(m): ");
l2 = scan.nextDouble();
Retangulo Obj = new Retangulo(l1, l2);
Obj.Imprimir();
} catch (Exception e) {
System.out.println("Valor Incorreto! Reinicie o processo...\n");
}
break;
default: //Outros
if (opcao != 0){
System.out.println("Opção Inválida!");
}
}
} while (opcao != 0);
System.out.println("Programa Encerrado!");
}
}
package atividade;
public abstract class Poligono {
protected int lados;
public void ImprimirLados(){
System.out.println("Lados: " + this.lados);
}
public abstract double CalcularArea();
public Poligono() {
this(0);
}
public Poligono(int lados) {
this.lados = lados;
}
public int getLados() {
return lados;
}
public void setLados(int lados) {
this.lados = lados;
}
}
package atividade;
public class Retangulo extends Poligono{
private double l1;
private double l2;
public Retangulo(){
this(0,0);
this.lados = 4;
}
public Retangulo(double l1, double l2) {
this.l1 = l1;
this.l2 = l2;
this.lados = 4;
}
public void Imprimir(){
System.out.println("\nInformações do Objeto...");
System.out.println("Forma: Retângulo");
this.ImprimirLados();
System.out.println("Tamanho: " + this.l1 + " x " + this.l2 + " m ");
System.out.println("Área: " + this.CalcularArea() + " m2\n");
}
@Override
public double CalcularArea() {
return l1 * l2;
}
public double getL1() {
return l1;
}
public void setL1(double l1) {
this.l1 = l1;
}
public double getL2() {
return l2;
}
public void setL2(double l2) {
this.l2 = l2;
}
}
package atividade;
public class Triangulo extends Poligono{
private double l1;
private double l2;
private double l3;
public Triangulo(){
this(0,0,0);
this.lados = 3;
}
public Triangulo(double l1, double l2, double l3) {
this.l1 = l1;
this.l2 = l2;
this.l3 = l3;
this.lados = 3;
}
public void Imprimir(){
System.out.println("\nInformações do Objeto...");
System.out.println("Forma: Triângulo");
this.ImprimirLados();
System.out.println("Tamanho: " + this.l1 + " x " + this.l2 + " x " + this.l3 + " m ");
System.out.println("Área: " + this.CalcularArea() + " m2\n");
}
@Override
public double CalcularArea() {
//Fórmula de Heron - qualquer tipo de triângulo
double p = (l1 + l2 + l3) / 2;
double r = p * (p - l1) * (p - l2) * (p - l3);
double s = Math.sqrt(r);
return s;
}
public double getL1() {
return l1;
}
public void setL1(double l1) {
this.l1 = l1;
}
public double getL2() {
return l2;
}
public void setL2(double l2) {
this.l2 = l2;
}
public double getL3() {
return l3;
}
public void setL3(double l3) {
this.l3 = l3;
}
}
Explicação: