Informática, perguntado por claudemirls22, 9 meses atrás

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

Respondido por msorigotti23
8

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:

Perguntas interessantes