Informática, perguntado por Lrsss, 10 meses atrás

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. Ao terminar a sua atividade, lembre-se de exportar seu projeto no formato .zip e envie o seu código pelo sistema Studeo. Para exportar no NetBeans, siga os passos: Arquivo > Exportar Projeto > Para ZIP

Soluções para a tarefa

Respondido por msorigotti23
1

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;

   }

}

Perguntas interessantes