Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos

Algorítmos Resolvidos de Java - A classe Retangulo (construtores, getters e setters, encapsulamento e static) - Desafio de Programação Resolvido em Java

Quantidade de visualizações: 15195 vezes
Exercícios Resolvidos de Java - A classe Retangulo (construtores, getters e setters, encapsulamento e static)

Pergunta/Tarefa:

Escreva uma classe Retangulo para representar um retângulo. A classe deve conter:

a) Dois campos de dados do tipo double chamados largura e altura que especificam a largura e a altura do retângulo. Os valores padrões são 1 tanto para a largura quanto para a altura.

b) Um campo de dado do tipo String chamado cor que especifica a cor do retângulo. Para este exercício em particular, assuma que TODOS os retângulos possuirão a mesma cor. A cor padrão é branco.

c) Um construtor sem argumentos que cria um retângulo padrão.

d) Um construtor que cria um retângulo com a largura e altura especificadas.

e) Métodos get() e set() para os três campos de dados da classe.

f) Um método chamado getArea() que retorna a área do retângulo.

g) Um método chamado getPerimetro() que retorna o perímetro do retângulo.

Escreva um programa de teste que cria dois objetos da classe Retangulo. Sua saída deverá ser parecida com:



Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

Retangulo.java

----------------------------------------------------------------------
Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar)

Este código foi útil? Paga um cafezinho pra mim :-(
PIX: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

public class Retangulo {
  private double largura; // largura do retângulo
  private double altura; // altura do retângulo
  
  // O exercício pede que TODOS os retângulos tenham a mesma cor
  // consulte a dica http://www.arquivodecodigos.net/dicas/1158 para mais
  // detalhes sobre o modificador static
  private static String cor = "branco"; // cor do retângulo

  // construtor sem argumentos
  public Retangulo(){
    this.largura = 1;
    this.altura = 1;
  }

  // construtor que permite especificar a largura e a altura
  public Retangulo(double largura, double altura){
    this.largura = largura;
    this.altura = altura;
  }

  // obtém a altura
  public double getAltura() {
    return altura;
  }

  // define a altura
  public void setAltura(double altura){
    this.altura = altura;
  }

  // obtém a largura
  public double getLargura(){
    return largura;
  }

  // define a largura
  public void setLargura(double largura){
    this.largura = largura;
  }
  
  // obtém a cor de TODOS os retângulos
  public static String getCor(){
    return cor;
  }

  // define a cor de TODOS os retângulos
  public static void setCor(String cor){
    Retangulo.cor = cor;
  }

  // este método retorna a área do retângulo (em metros quadrados)
  public double getArea(){
    return (this.largura * this.altura);  
  }
  
  // este método retorna o perímetro do retângulo (em metros)
  public double getPerimetro(){
    return ((2 * this.largura) + (2 * this.altura));  
  }
}

Agora o teste no método main():

----------------------------------------------------------------------
Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar)

Este código foi útil? Paga um cafezinho pra mim :-(
PIX: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar uma instância da classe Retangulo com
    // os valores padrões
    Retangulo a = new Retangulo();
    
    // agora vamos informar a largura e a altura
    Retangulo b = new Retangulo(10, 5);
    
    // os dois retângulos terão a cor verde
    Retangulo.setCor("verde");
    
    // vamos mostrar os resultados do primeiro retângulo
    System.out.println("Primeiro retângulo");
    System.out.println("Largura: " + a.getLargura());
    System.out.println("Altura: " + a.getAltura());
    System.out.println("Cor: " + Retangulo.getCor());
    System.out.println("Área: " + a.getArea() + " metros quadrados");
    System.out.println("Perímetro: " + a.getPerimetro() + " metros");
    
    // vamos mostrar os resultados do segundo retângulo
    System.out.println("\nSegundo retângulo");
    System.out.println("Largura: " + b.getLargura());
    System.out.println("Altura: " + b.getAltura());
    System.out.println("Cor: " + Retangulo.getCor());
    System.out.println("Área: " + b.getArea() + " metros quadrados");
    System.out.println("Perímetro: " + b.getPerimetro() + " metros");
  }
}


Link para compartilhar na Internet ou com seus amigos:

Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 24 usuários muito felizes estudando em nosso site.