miércoles, 12 de febrero de 2014

Unidad 3: Ejercicio 9, Clase Test

/*
* 9. Diseñar una clase de nombre Test que nos permita representar una pregunta tipo test, la cual estará compuesta de un enunciado, cuatro posibles respuestas y la respuesta correcta. Estas tres propiedades privadas de la clase tendrán los nombres:

- Número de pregunta (int)
- enunciado.
- opciones. Array de 4 strings.
- valida. De tipo carácter. Guarda cual es la respuesta correcta

La clase tiene que implementar los métodos siguientes:

- setNumero, setEnunciado,  setOpciones,  setValida que asignarán cada uno de ellos lo valores de cada una de las propiedades.
- getNumero, getEnunciado, getValida, getOpciones que devuelven de manera respectiva cada una de las tres propiedades de la clase.
- Método de nombre presenta, que escribe de manera adecuada en pantalla la pregunta, y las cuatro posibles respuestas, precedidas de las letras a, b, c, d.

Comprobar el funcionamiento de la clase Test declarando dos objetos de dicha clase, y evaluar el funcionamiento de los métodos definidos.

*/
package unidad3ejercicio9;

/**
*
* @author juan
*/
public class Unidad3Ejercicio9 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String opcion1 [] = {"Estrella","Planeta","Planeta enano","Supernova"};
        String enunciado1= "El planeta tierra es:";
        Test pregunta1 = new Test(1,enunciado1,opcion1,'b');
       
       
        String opcion2[] = {"12","4","512","8"};
        Test pregunta2 = new Test();
        pregunta2.setEnunciado("¿Cuántos bits tiene un byte?");
        pregunta2.setNumero(2);
        pregunta2.setOpciones(opcion2);
        pregunta2.setValida('d');
       
        pregunta1.presenta();
        System.out.println("=====================");
        pregunta2.presenta();
   
    }
}


/**
*
* @author juan
*/
public class Test {
    private int numero;
    private String enunciado;
    private String [] opciones;
    private char valida;

    public Test(int numero, String enunciado, String[] opciones, char valida) {
        this.opciones = new String[5];
       
        this.numero = numero;
        this.enunciado = enunciado;
     
        System.arraycopy(opciones, 0, this.opciones, 0, opciones.length);
        /*
        for (int i = 0; i < opciones.length; i++) {
            this.opciones[i] = opciones[i];
           
        }
        */
        this.valida = valida;
    }

    public Test() {
        numero=0;
        enunciado="";
        opciones = new String[5];
       
    }

    public String getEnunciado() {
        return enunciado;
    }

    public void setEnunciado(String enunciado) {
        this.enunciado = enunciado;
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int numero) {
        this.numero = numero;
    }

    public String[] getOpciones() {
        return opciones;
    }

    public void setOpciones(String[] opciones) {
           System.arraycopy(opciones, 0, this.opciones, 0, opciones.length);
    }

    public char getValida() {
        return valida;
    }

    public void setValida(char valida) {
        this.valida = valida;
    }
   
    public void presenta(){
        System.out.print(numero + ".- ");
        System.out.println(enunciado);
        System.out.printf("\t a.- %s%n",opciones[0]);
        System.out.printf("\t b.- %s%n",opciones[1]);
        System.out.printf("\t c.- %s%n",opciones[2]);
        System.out.printf("\t d.- %s%n",opciones[3]);
    }
   
   
   
}