![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
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: 9761 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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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 |
|
Java - Como calcular o coeficiente angular de uma reta em Java dados dois pontos no plano cartesiano Java - Exercícios Resolvidos de Java - Como converter decimal em binário em Java usando o laço while |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






