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: 880 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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

/*
  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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

/*
  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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Ler um número inteiro na faixa 0-999 e mostrar a soma de seus dígitos

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

Escreva um programa Java que leia um inteiro na faixa 0-999 e mostre a soma de seus dígitos. Por exemplo, se o valor for 523, a soma de seus dígitos será 5 + 2 + 3 = 10. Seu programa deverá exibir a seguinte saída:

Informe um valor inteiro (0-999): 523
A soma dos dígitos é: 10
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public static void main(String[] args){
  // não se esqueça de adicionar um import para a classe Scanner
  // import java.util.Scanner;

  // vamos criar um objeto da classe Scanner
  Scanner entrada = new Scanner(System.in);

  // vamos solicitar ao usuário que informe um valor inteiro
  // na faixa 0 a 999 (incluindo)
  System.out.print("Informe um valor inteiro (0-999): ");

  // vamos ler o valor informado
  int valor = Integer.parseInt(entrada.next());

  // vamos verificar se o valor está na faixa permitida
  if(valor < 0 || valor > 999){
    System.out.println("Valor fora da faixa permitida");
    System.exit(0);
  }

  // vamos obter o terceiro dígito
  int terceiro = valor % 10;
  // obtém os digitos restantes
  valor = valor / 10;

  // vamos obter o segundo dígito
  int segundo = valor % 10;
  // obtém os digitos restantes
  valor = valor / 10;

  // vamos obter o primeiro dígito
  int primeiro = valor % 10;
  // obtém os digitos restantes
  valor = valor / 10;

  // vamos obter a soma dos dígitos
  int soma = terceiro + segundo + primeiro;

  // vamos mostrar o resultado
  System.out.println("A soma dos dígitos é: " + soma);
}



Java ::: Dicas & Truques ::: Expressões Regulares

Java Expressões Regulares - Como substituir todas as ocorrências de uma substring em uma string usando expressões regulares

Quantidade de visualizações: 9195 vezes
Este exemplo mostra como substituir todas as ocorrências de uma substring em uma string usando expressões regulares na linguagem Java.

Nesta dica nós substituimos todas as ocorrências de "Java" por "C++".

Veja o código completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;

import java.util.regex.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    String padrao = "Java";
    Pattern regPat = Pattern.compile(padrao);
    String frase = "Java? Gosto muito de Java.";
    System.out.println("Frase original: " + frase);
    Matcher matcher = regPat.matcher(frase);
    String res = matcher.replaceAll("C++");
    System.out.println("Depois da substituição: " + res);
  } 
} 

Ao executarmos este código Java nós teremos o seguinte resultado:

Frase original: Java? Gosto muito de Java.
Depois da substituição: C++? Gosto muito de C++.


Java ::: Dicas & Truques ::: Strings e Caracteres

Como retornar a quantidade de palavras em uma string Java usando um objeto da classe StringTokenizer

Quantidade de visualizações: 127 vezes
Nesta dica mostrarei como podemos usar um objeto da classe StringTokenizer, do pacote java.util para contar as palavras em um texto ou frase, ou seja, em uma string. O método que usaremos da classe StringTokenizer é countTokens() que retorna a quantidade de pedaçõs na string, separados por espaço.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// Este exemplo mostra como contar as palavras
// de uma string

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    String frase = "Programar em Java é bom demais";
    
    StringTokenizer parser = new StringTokenizer(frase);
    int cont = parser.countTokens();
    
    System.out.println("A frase contém " + 
        cont + " palavras");
    
    System.exit(0);
  }
}  

Ao executar este código Java nós teremos o seguinte resultado:

A frase contem 6 palavras.


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
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á 76 usuários muito felizes estudando em nosso site.