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

Crie uma classe Televisao e uma classe ControleRemoto que pode controlar o volume e trocar os canais da televisão - Desafio de Programação Resolvido em Java

Quantidade de visualizações: 951 vezes
Pergunta/Tarefa:

Este exercício deve ser feito usando Programação Orientada a Objetos em Java.

Crie uma classe Televisao e uma classe ControleRemoto que pode controlar o volume e trocar os canais da televisão. O controle remoto permite:

1) aumentar ou diminuir a potência do volume de som em uma unidade de cada vez;
2) aumentar e diminuir o número do canal em uma unidade;
3) trocar para um canal indicado;
4) consultar o valor do volume de som e o canal selecionado.

O volume da TV deverá variar entre 0 (mudo) e 10 (máximo). Os canais deverão variar de 1 até 20. Exiba mensagens caso os valores informados caiam fora dessas faixas.

Seu código deverá mostrar um menu para as opções acima.

Sua saída deverá ser parecida com:

---------- OPÇÕES DO CONTROLE REMOTO ----------

1. Aumentar o Volume
2. Diminuir o Volume
3. Aumentar o Canal
4. Diminuir o Canal
5. Trocar Para o Canal Indicado
6. Consultar o Volume e Canal Selecionado
7. Sair
Sua opção: 6

O volume atual é: 5
O canal atual é: 1
Resposta/Solução:

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

Código para a classe Televisao.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 
----------------------------------------------------------------------

/*
  Esta é a classe Televisao. Ela contém duas variáveis de
  instância: volume e canal
*/

package estudos;

public class Televisao {
  private int volume;
  private int canal;

  // construtor padrão que define o volume como 5 e o canal 1
  public Televisao() {
    this.volume = 5;
    this.canal = 1;
  }

  public int getVolume() {
    return volume;
  }

  public void setVolume(int volume) {
    this.volume = volume;
  }

  public int getCanal() {
    return canal;
  }

  public void setCanal(int canal) {
    this.canal = canal;
  }
}

Código para a classe ControleRemoto.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 
----------------------------------------------------------------------

/*
  Esta é a classe ControleRemoto que permitirá controlar o volume
  e os canais da TV
 */
package estudos;

import java.util.Scanner;

public class ControleRemoto {

  Televisao tv; // uma referência a um objeto da classe Televisao

  // vamos usar um objeto da classe Scanner para entrada do usuário
  Scanner entrada = new Scanner(System.in);

  // construtor padrão da classe ControleRemoto
  public ControleRemoto() {
    // instanciamos um objeto da classe Televisao
    tv = new Televisao();
  }

  // mostra o menu de opções
  public void mostrarMenu() {
    // um laço infinito para mostrar as opções do menu
    while (true) {
      System.out.println("\n---------- OPÇÕES DO CONTROLE REMOTO ----------\n");
      System.out.println("1. Aumentar o Volume");
      System.out.println("2. Diminuir o Volume");
      System.out.println("3. Aumentar o Canal");
      System.out.println("4. Diminuir o Canal");
      System.out.println("5. Trocar Para o Canal Indicado");
      System.out.println("6. Consultar o Volume e Canal Selecionado");
      System.out.println("7. Sair");
      System.out.print("Sua opção: ");

      // lê a opção do usuário
      int opcao = Integer.parseInt(entrada.nextLine());

      // uma estrutura switch para tratar as opções do menu
      switch (opcao) {
        case 1: // aumenta o volume em uma unidade
          if(tv.getVolume() < 10){
            System.out.println("\nO volume da TV foi aumentado em uma unidade.\n");
            tv.setVolume(tv.getVolume() + 1);
          }
          else{
            System.out.println("\nO volume da TV já está no máximo.\n");
          }
          break;
          
        case 2: // diminui o volume em uma unidade
          if(tv.getVolume() > 0){
            System.out.println("\nO volume da TV foi diminuido em uma unidade.\n");
            tv.setVolume(tv.getVolume() - 1);
          }
          else{
            System.out.println("\nO volume da TV já está no mínimo.\n");
          }  
          break;
          
        case 3: // aumenta o canal em uma unidade
          if(tv.getCanal() < 20){
            System.out.println("\nO canal da TV foi aumentado em uma unidade.\n");
            tv.setCanal(tv.getCanal() + 1);
          }
          else{
            System.out.println("\nO canal da TV já está no máximo.\n");
          }
          break;
          
        case 4: // diminui o canal em uma unidade
          if(tv.getCanal() > 1){
            System.out.println("\nO canal da TV foi diminuido em uma unidade.\n");
            tv.setCanal(tv.getCanal() - 1);
          }
          else{
            System.out.println("\nO canal da TV já está no mínimo.\n");
          }  
          break;  
          
        case 5: // troca para um canal indicado
          System.out.print("\nInforme o canal desejado: ");
          // lê o canal informado pelo usuário
          int canal = Integer.parseInt(entrada.nextLine());
          // o canal é válido?
          if(canal >= 1 && canal <= 20){
            System.out.println("\nO canal da TV foi ajustado para " + canal + ".\n");
            tv.setCanal(canal);
          }
          else{
            System.out.println("\nO canal informado é inválido.\n");
          }
          break;
          
        case 6: // mostra o volume e canal selecionado
          System.out.println("\nO volume atual é: " + tv.getVolume());
          System.out.println("O canal atual é: " + tv.getCanal());
          break;
        
        case 7: // fecha o programa
          System.out.println("\nObrigado por usar o programa.\n");
          System.exit(0);
      }
    }
  }
}

Código para a classe Principal.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 Principal {
  public static void main(String[] args) {
    // cria um novo objeto da classe ControleRemoto
    ControleRemoto cr = new ControleRemoto();
    // chama o menu de opções
    cr.mostrarMenu();
  }
}


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á 26 usuários muito felizes estudando em nosso site.