Question

/*
 * Clase Question
 * Autor: Christian Sarmiento
 */

//Se importan las librerías necesarias para los elementos gráficos
import javax.microedition.lcdui.*;

//Se importa la librería necesaria para manejar vectores
//(listas usadas como arreglos dinámicos)
import java.util.*;

/**
 * @author Christian Sarmiento
 */

public class Question extends Form{

    //----------------------Atributos de la clase-----------------------------\\
    private String name;   //Identificador de la pregunta
    private String question;   //Texto de la pregunta
    private Vector answers;   //Lista de objetos Answer
    private int numberOfAnswers;   //Numero de respuestas
    private ChoiceGroup options;   //Las opciones de las posibles respuestas


    //----------------------------Constructor---------------------------------\\
    public Question(String aName, String aQuestion){
        //Se llama al constructor de la clase padre
        super(aName);

        //Se guardan los valores enviados como parámetros
        name = aName;
        question = aQuestion;

        //Inicializamos la lista suponiendo que existe al menos una respuesta e
        //indicando que en caso de que la estructura este llena y se quiera agregar
        //una respuesta más, aumente su longitud en 1
        answers = new Vector(1,1);

        //Iniciamos el número de respuestas en 0
        numberOfAnswers = 0;

        //Construimos el ChoiceGroup
        //ChoiceGroup(Texto de la pregunta, tipo de Choice)
        options = new ChoiceGroup(question, Choice.EXCLUSIVE);

        //Agregamos el ChoiceGroup
        append(options);
    }//Fin


    //------------------------Método "addAnswer"------------------------------\\
    public void addAnswer(Answer anAnswer){
        //Se incrementa el número de respuestas
        numberOfAnswers = numberOfAnswers + 1;
        //Añadimos la respuesta a la lista de respuestas
        answers.addElement(anAnswer);
        //Agregamos el texto de la respuesta al ChoiceGroup
        options.append(anAnswer.toString(), null);
    }//Fin


    //-------------------------Método "getName"-------------------------------\\
    public String getName(){
        return name;//Regresa el identificador de la pregunta
    }//Fin


    //-----------------------Método "getSelectedIndex"------------------------\\
    public int getSelectedIndex(){
        return options.getSelectedIndex();//Regresa la opción seleccionada
    }//Fin


    //-------------------------Método "toString()"----------------------------\\
    /**
     * Overwrite del método toString de la clase Object
     */
    public String toString(){
        return question;//Regresa el texto de la pregunta
    }//Fin


    //--------------------------Método "getAnswer"----------------------------\\
    public Answer getAnswer(int index){
        return (Answer)answers.elementAt(index);//Regresa el objeto Answer indicado
    }//Fin

}//Fin de la clase Question

Comments