Hola,
Suponte tienes este arreglo:
Quieres acceder a una posicion del arreglo ?
Código Java:
Ver originalint numero = 1;
System.
out.
println(cosas
[numero
]); // accedo a un indice numero del array cosas
Quieres saber si algo existe en un arreglo ?
Código Java:
Ver originalboolean existe;
existe
= java.
util.
Arrays.
asList(cosas
).
contains("impresora");
Quieres saber la posicion de algo que buscas en un arreglo ?
Código Java:
Ver originalint pos;
pos
= java.
util.
Arrays.
asList(cosas
).
indexOf("impresora"); System.
out.
println("Encontrado en posicion "+pos
);
<< te devuelve (-1) en caso de no ser encontrado
Analiza este ejemplo que te hice:
Código Java:
Ver originalpublic class test {
public static void main
(String[] args
) {
String[] cosas
= { "mesa",
"silla",
"impresora",
"computador" };
int numero = 1;
System.
out.
println(cosas
[numero
]); // accedo a un indice
// busqueda
int pos;
pos
= java.
util.
Arrays.
asList(cosas
).
indexOf("impresora"); System.
out.
println("Encontrado en posicion "+pos
);
//otra busqueda
boolean existe;
existe
= java.
util.
Arrays.
asList(cosas
).
contains("impresora");
}
}
Por otro lado..... tu clase Cuestionario creo deberia ser re-formulada...... y para contestar una pregunta en el foro de PHP hice algo que te podria servir...... es muy similar a Java...... creo entenderas la idea de como funciona y hacer algo parecido o aun mejor:
Código PHP:
Ver original<?php
/*
@author: Pablo Bozzolo (italico76)
*/
Class PreguntaCuestionario implements Countable, Iterator
{
private $_pregunta = NULL;
private $_respuestas = [];
private $_respuesta_correcta = null;
public function __construct($pregunta)
{
// texto de la pregunta
$this->_pregunta=$pregunta;
}
public function getPregunta()
{
return $this->_pregunta;
}
// alias de getPregunta
public function getNombre()
{
return $this->_pregunta;
}
// una posible repuesta
public function addRespuesta($respuesta)
{
$this->_respuestas[] = $respuesta;
return $this;
}
// posibles repuestas
public function addRespuestas
(array $respuestas) {
foreach ($respuestas as $respuesta)
$this->_respuestas[] = $respuesta;
return $this;
}
// la respuesta considerada 'correcta', si la hay
// posicion como rango {1...N}
public function setRespuestaCorrecta($posicion)
{
$this->_respuesta_correcta = $this->_respuestas[$posicion-1];
return $this;
}
public function getRespuestaCorrecta()
{
return $this->_respuesta_correcta;
}
// desordena respuestas
public function desordenar()
{
return $this;
}
/* Iterator */
reset($this->_respuestas
); }
{
return current($this->_respuestas
); }
{
return key($this->_respuestas
); }
{
next($this->_respuestas
); }
public function valid()
{
return isset($this->_respuestas
[$this->key()]); }
public function printMe()
{
$out = $this->getNombre()."\n\n";
foreach ($this->_respuestas as $option)
$out .= "( ) $option\n";
$out .= "\n(RTA: ".$this->getRespuestaCorrecta().")\n\n";
return $out;
}
public function __toString()
{
return $this->printMe();
}
/* Countable */
{
return count($this->_respuestas
); }
}
Class Cuestionario implements Countable, Iterator
{
private $_nombre = NULL;
private $_preguntas= array(); private $_mode = NULL;
/*
@param nombre del cuestionario
@return void
*/
public function __construct($nombre)
{
$this->_nombre=$nombre;
}
public function getNombre()
{
return $this->_nombre;
}
public function addPregunta(PreguntaCuestionario $pregunta)
{
$this->_preguntas[]= $pregunta;
return $this;
}
// desordena preguntas
public function desordenar($tambien_respuestas=true)
{
if ($tambien_respuestas)
foreach ($this->_preguntas as $pregunta)
$pregunta->desordenar();
return $this;
}
/* Iterator */
reset($this->_preguntas
); }
{
}
{
return key($this->_preguntas
); }
{
}
public function valid()
{
return isset($this->_preguntas
[$this->key()]); }
/* Countable */
{
return count($this->_preguntas
); }
// para consola
public function __toString()
{
$out = "Cuestionario: {$this->_nombre}\n\n";
foreach ($this->_preguntas as $pregunta)
$out .= printf ("%s\n",$pregunta->printMe());
return $out;
}
// para generar subgrupos de preguntas de N en M
public function getN($n)
{
if ($n>count($this->_preguntas
)) throw new Expcetion ("No hay tantas ($n) preguntas!");
for ($i=0;$i<$n;$i++)
$copia[] = $this->_preguntas[$i];
return $copia;
}
}
// creo Cuestionario:
$pregs = new Cuestionario("America");
$pregs ->addPregunta(
(new PreguntaCuestionario("Cuando los europeos descubrieron oficialmente de America ?"))
->addRespuestas([1942,1542,1492])
->setRespuestaCorrecta(3)
)
->addPregunta(
(new PreguntaCuestionario("Quien era Atahuala ?"))
->addRespuestas(["un espanol conquistador","un jeque americano"])
->setRespuestaCorrecta(2)
)
->addPregunta(
(new PreguntaCuestionario("Que fue causal de mas muerte de indigenas?"))
->addRespuestas(["los asesinatos","las enfermedades traidas desde Europa"])
->setRespuestaCorrecta(2)
)
->addPregunta(
(new PreguntaCuestionario("Con que nombre se celebra el dia del descubrimiento?"))
->addRespuestas(["Dia de la Raza","Dia del amigo","Dia del descrumiento"])
->setRespuestaCorrecta(1)
)
->addPregunta(
(new PreguntaCuestionario("De que nacionalidad era Cristobal Colon ?"))
->addRespuestas(["No se sabe con certeza","italiano","portugues","ingles"])
->setRespuestaCorrecta(1)
)->desordenar();
// Preparacion de examenes como variaciones del mismo cuestionario
$examenes = [];
$examenes[] = $pregs->desordenar()->getN(3);
$examenes[] = $pregs->desordenar()->getN(3);
$examenes[] = $pregs->desordenar()->getN(3);
$nombre = $pregs->getNombre();
foreach ($examenes as $key => $examen)
{
echo "<h3>Cuestionario: $nombre (version ".($key+1).")</h3>";
foreach ($examen as $pregunta)
{
echo "<span>".$pregunta->getNombre()."</span><p/>";
foreach ($pregunta as $option)
echo "<input type=\"radio\" name=\"{$nombre}[]\" value=\"\"/>{$option}</option><p/>";
//echo $pregunta->getRespuestaCorrecta();
echo "<br/>";
}
echo "<p/>---------------------------------------------<p/>";
}