Duvida com enum

2 respostas
D

Tenho duas duvidas, a primeira é quanto ao uso de enum.

tenho um enum Mao que tem as seguinte constantes

PEDRA
PAPEL
TESOURA

e em uma outra classe que consome esse enum eu tenho um metodo que escolhe um valor aleatoriamente, antes estava usando um switch da seguinte maneira.

Random randomico = new Random();
int valor = randomico.nextInt();

switch(randomico)

{

case 1:

{

tipoMao = Mao.PEDRA;

break;

}

case 2

{

tipoMao = Mao.PAPEL;

break;

}

case 3:

{

tipoMao = Mao.Tesoura;

break;

}

}

so que gostaria de saber se enum não possui nenhum metodo que me de uma constate aleatoria, existe algum metodo que fassa isso???

2 Respostas

C

double r = Math.random(); nao resolveria?

L

Se eu entendi bem, vc tem o enum e quer pegar um valor qualquer do enum, de forma aleatoria certo?!
Se é isso… pronto não vai ter, mas vc pode criar o método… ex:

static enum En {
		A, B, C, E, F, G, H;

		public static En random() {
			return En.values()[Double.valueOf(
					Math.random() * En.values().length).intValue()];
		}
	}

	public static void main(String[] args) {
		System.out.println(En.random());
	}
Criado 2 de agosto de 2007
Ultima resposta 3 de ago. de 2007
Respostas 2
Participantes 3