Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
POO - Programação Orientada a Objetos - Exercício Resolvido 5 - A classe Dado (construtores, métodos, getters e setters e encapsulamento) - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 9534 vezes |
Pergunta/Tarefa: Os dados são pequenos poliedros gravados com determinadas instruções. O dado mais clássico é o cubo (seis faces), gravado com números de um a seis. Para este exercício você deverá criar uma classe Dado para representar um dado e que nos permitirá rolá-lo e tirar valores que variarão de 1 a 6, ou seja, um dado de seis lados. A classe deverá conter os seguintes campos de dados e métodos: a) Um campo de dados constante privado do tipo int que define quantas faces o dado possui. O valor desta constante deverá ser 6. b) Um campo de dados privado do tipo int chamado valorFace que guardará o valor atual da face do dado. c) Um construtor sem argumentos que cria um novo objeto da classe Dado e define o valor da variável valorFace como 1. d) Métodos get() e set() para a variável privada valorFace. O método set() deve garantir que o valor fornecido como argumento esteja dentro da faixa esperada. Se o valor for inválido, exiba uma mensagem "Valor inválido para a face do dado". e) Um método rolar() que vai "rolar" o dado e guardar o resultado na variável valorFace. O valor sorteado deverá estar na faixa de 1 até a quantidade de faces do dado. f) Um método chamado getQuantidadeFaces() que retorna um int representando a quantidade de faces do dado. Crie um método main() para testar a classe Dado. Sua saída deverá ser algo parecido com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: Dado.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 Dado{ private final int FACES = 6; // quantidade de faces private int valorFace; // valor atual da face virada para cima // construtor padrão que define o valor inicial da face como 1 public Dado(){ valorFace = 1; } // permite rolar o dado public void rolar(){ this.valorFace = (int)(Math.random() * FACES) + 1; } // permite obter o valor da face do dado public int getValorFace(){ return valorFace; } // permite definir o valor da face do dado // CUIDADO. Este valor deverá estar entre 1 e o número máximo de faces public void setValorFace(int valorFace){ if((valorFace > 0) && (valorFace <= FACES)){ this.valorFace = valorFace; } else{ System.out.println("Valor inválido para a face do dado"); } } // retorna a quantidade de faces do dado public int getQuantidadeFaces(){ return this.FACES; } } Veja agora o método main() que nos permite testar a funcionalidade da classe Dado: ---------------------------------------------------------------------- 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 Estudos { public static void main(String[] args) { // vamos criar um novo objeto da classe Dado Dado d = new Dado(); // vamos rolar o dado e obter o valor tirado System.out.println("Primeira rodada"); d.rolar(); System.out.println("Valor tirado: " + d.getValorFace()); // vamos rolar o dado mais uma vez System.out.println("Segunda rodada"); d.rolar(); System.out.println("Valor tirado: " + d.getValorFace()); // vamos tentar definir um valor inválido para a face de um // dado de seis faces d.setValorFace(7); } } |
![]() |
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 |