Recurro a ustedes, ya que la mayoria de mis dudas fueron resuletas en post que encontre navegando por este increible foro.
Espero que alguien me pueda ayudar con lo siguiente.
Introduccion:
Tengo una pagina con muchos FORMULARIOS de EVALUACIONES.
Cada formulario tiene 2 etapas.
ETAPA 1: Creacion de Formulario por un ADMINISTRADOR (Genera ERRORES y MARCA LAS OPCIONES CORRECTAS), luego Selecciona a x CANTIDAD de usuarios para ASIGNAR dicha EVALUACION.
ETAPA 2: El USUARIO completa la EVALUACION seleccionando las respuesta que crea son correctas. (SON TODOS RADIOBOTONS Y CADA RADIO REPRESENTA A UN TIPO DE RESPUESTA).
Bien, ahora, por medio de 1 consulta SQL obtengo 2 listas de tipo ArrayList<ArrayList>.
La primera, es el TOTAL DE EVALUACIONES Y CADA RESPUESTA MARCADA. es decir tiene este formato:
[
EVALUACION1
[
RESPUESTA 1
RESPUESTA 2
RESPUESTA 3
]
]
El segundo listado son los RESULTADOS de la EVALUACION que tienen el mismo formato:
[
EVALUACION1
[
RESPUESTA 1
RESPUESTA 2
RESPUESTA 3
]
]
... Bien por medio de JAVA o javascript necesito machear por cada EVALUACIÓN que realizo un USUARIO compare el ID DE RESPUESTA con la lista de RESULTADOS
Ejemplo:
Primer LISTA:
EVALUCION1
[
RESPUESTA1: 401
RESPUESTA1: 500
RESPUESTA1: 610
]
Segunda LISTA:
EVALUCION1
[
RESPUESTA1: 401
RESPUESTA1: 540
RESPUESTA1: 610
]
Necesito generar una lista nueva con las diferencias entre ambos. es decir que la lista MACHEO sea la siguiente:
Segunda LISTA:
EVALUCION1
[
RESPUESTA1: 540
]
Probando con JAVA logre encontrar cuales fueron las RESPUESTAS CORRECTAS:
Código:
var resultado_igual = [];
var test = [];
var test2 = [];
var resultado_igual = [];
var salida_igual=[];
var resultado = [];
var aux = "";
var aux2 = "";
var calibracion_usuarios = [[530,533,617],[530,533,617],[530,534,611],[544,548,627],[544,549,628]];
var calibracion_rector = [[530,533,617],[530,533,617],[530,533,617],[544,548,627],[544,530,617]];
for ( var a = 0; a < calibracion_usuarios.length; a++) {
test = calibracion_usuarios[a];
test2 = calibracion_rectores[a];
salida_igual = [];
for ( var b = 0; b < test.length; b++) {
aux = test[b];
for ( var c = 0; c < test2.length; c++) {
aux2 = test2[c];
if(aux == aux2){
salida_igual.push(aux);
}
}
}
resultado_igual.push(salida_igual);
}
resultado_igual = [[530,533,617],[530,533,617],[530],[544,548,627],[544]]
PEDIDO FORMAL:
Necesito crear un nuevo ArrayList<ArrayList> similar al de "RESPUESTA CORRECTAS" (resultado_igual),
Con la diferencia que en esta nueva lista, esten los valores DIFERENTES.
Aguardo su respuesta.
Desde ya muchisimas gracias.