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: 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 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ígitosQuantidade 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 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 regularesQuantidade 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 StringTokenizerQuantidade 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# - Como remover um elemento em uma determinada posição de uma List<T> do C# usando a função RemoveAt() |
Códigos Fonte |
Software 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 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 |