Enum

1 resposta
Guma_Cojogra2

Seguinte, estou desenvolvendo um quiz. Nesse quiz as alternativas já se encontram no próprio texto da pergunta, mas o tipo de alternativa pode variar de pergunta para pergunta

Existem quatro tipos:

<strong>A</strong>-<strong>C</strong> <em>onde as alternativas vão ser</em> <strong>A</strong>, <strong>B</strong> e <strong>C</strong>;

<strong>A</strong>-<strong>D</strong> <em>onde as alternativas vão ser</em> <strong>A</strong>, <strong>B</strong>, <strong>C</strong> e <strong>D</strong>

<strong>A</strong>-<strong>E</strong> onde as alternativas vão ser_ <strong>A</strong>, <strong>B</strong>, <strong>C</strong>, <strong>D</strong> e <strong>E</strong>

<strong>V</strong>-<strong>F</strong>  <em>onde as alternativas vão ser</em>  <strong>V</strong>(<em>verdadeiro</em>) e <strong>F</strong>(<em>falso</em>)

Eu queria criar um enum destes tipos já que são invariáveis, acredito ser a melhor opção, mas o meu objeto pergunta tem dois atributos um atributo tipo (que pode que vai conter um dos tipos :
A-C, A-D, A-E ou V-F) e outro atributo resposta Correta Que deve estar dentro do intervalo de cada tipo, exemplo se o tipo for V-F a resposta correta só pode ser V ou F, já se for A-C a resposta correta só poderá ser A, B ou C.

Qual seria a melhor forma de se criar um enum para este caso?

1 Resposta

Guma_Cojogra2

Estou tentando colocar um Array de enum como atributo do enum mais não tá rolando,

public enum Tipo {
   AC(Alternativa[]),
   AD(Alternativa[]),
   AE(Alternativa[]),
   VF(Alternativa[]);

private Alternativa[] alternativas;

private Alternativa[] alternativas() {
    //Alternativa[] alternativas = new Alternativa[3];
    Alternativa[] alternativas = {A, B, C};
    return alternativas;
}

Tipo(Alternativa[] alternativas) {
    this.alternativas = alternativas;
}

enum Alternativa {

    A, B, C, D, E, F, V;  }

`O que eu preciso é validar o tipo, e a resposta correta deste tipo e gerar uma List de acordo com o tipo para preencher um JComboBox ou criar botões dinamicamente, para que o usuário possa responder.

Criado 3 de julho de 2016
Ultima resposta 3 de jul. de 2016
Respostas 1
Participantes 1