Ir para o conteúdo

Exercícios sobre Enumerações

Questão 1
Crie uma classe Semaforo para representar um semáforo de trânsito. As fases do semáforo (VERMELHO, AMARELO e VERDE) devem ser representadas por uma enumeração.
A classe deve armazenar a fase atual e possuir um método trocarFase() que avance para a próxima fase da sequência:

VERMELHO → VERDE → AMARELO → VERMELHO.
Questão 2
Crie uma classe `Dinheiro` para representar um valor monetário. Os tipos de moeda (REAL, DOLAR e EURO) devem ser representadas por uma enumeração.
A classe deve armazenar o tipo da moeda e o valor monetário. Implemente um método converterPara(tipoDaMoeda) que converta o valor utilizando as taxas da tabela abaixo e retorne um novo objeto Dinheiro com o valor convertido.

MoedaValor em Real (BRL)
REAL1.00
DOLAR5.00
EURO5.50
Questão 3
Crie uma classe Carta para representar uma carta de baralho. O naipe e o valor da carta devem ser representados por enumerações. A classe Carta deve armazenar o naipe e o valor da carta, além de implementar um método compararCom(carta) que compare duas cartas e retorne:
  • 1 se a carta atual possuir valor maior;
  • 0 se as cartas possuírem o mesmo valor;
  • -1 se a carta atual possuir valor menor.

Exemplo:

Carta c1 = new Carta(Naipe.COPAS, Valor.REI);
Carta c2 = new Carta(Naipe.ESPADAS, Valor.DEZ);
// Saída: 1
System.out.println(c1.compararCom(c2));

Questão 4
Crie uma enumeração Operacao para representar operações matemáticas básicas. A enumeração deve possuir os seguintes enumeradores:
  • SOMA
  • SUBTRACAO
  • DIVISAO
  • MULTIPLICACAO
Implemente um método calcular(a, b) que receba dois valores numéricos e retorne o resultado da operação correspondente.
Exemplos:

// Saída: 15
System.out.println(Operacao.SOMA.calcular(10, 5));
// Saída: 50
System.out.println(Operacao.MULTIPLICACAO.calcular(10, 5));