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: 1108 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: ----------------------------------------------------------------------
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();
}
}
|
|
|
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 |
|
JavaScript - Como acessar as mídias do usuário em JavaScript usando a função getUserMedia() da interface MediaDevices Java - Como usar null em Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







