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 JavaQuantidade 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 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(); } } |
![]() |
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 |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |