Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - yeah69

#21
joder es verdad!!! vaya despiste!!!!! muxisimas gracias...de nuevo jeje!!! ;) ;)
#22
Java / Problema con la ejecucion de un metodo
10 Enero 2008, 17:17 PM
 :)Buenas de nuevo!!! :)
vereis yo tengo este metodo:
Código (java) [Seleccionar]
public static void Resultados() {

EstiloU();
c.gotoxy(12, 7);
c.cputs("Estos son los resultados de los examenes: ");
for (int i = 0; i < contadorE; i++) {
    c.gotoxy(12, j);c.cputs("Nota del examen " + (i + 1)     +                                       ": "+ notasExamen[i]);
j++;
     }
c.gotoxy(12, 15);
c.cputs("Pulsa una tecla para continuar...");
c.getch();
                                    }

el problema es que lo ejecuto y si, se ejecuta bien pero cuando pulso una tecla para continuar y volver al menu principal ....se me ejecuta este otro,y claro me finaliza el programa...en vez de irme al menu principal:
Código (java) [Seleccionar]
public static void Salir() {

Estilo();
c.gotoxy(3, 23);
Tiempo();
c.gotoxy(30, 12);
c.cputs("¡¡¡Adios " + nUsuario + "!!!");
c.getch();
System.exit(0);// finaliza el programa
}


asi que alguna relacion debe haber, este es el codigo del main:
Código (java) [Seleccionar]
int opcion = 0;
do {
opcion = Menu();
switch (opcion) {
case '1':
Repasar();
break;
case '2':
Examen();
break;
case '3':
NUsuario();
break;
case '4':
Resultados();
case '5':
Salir();

default:
break;
}
} while (opcion != 5);
  la verdad, no he encontrando ningun despiste...ni nada que relacione el metodo salir con el resultados...si veis algo o teneis alguna hipotesis pues comentadmela por favor, graciaaaaas!!!!!! ;) ;)
#23
sip, si q lo pillo ;)
pero lo que pasa es que como he hecho esto tambien:
Código (java) [Seleccionar]
public static Pregunta[] Examen(Console c) {
int i;
int random;
Pregunta[] Examen = new Pregunta[12];
Pregunta[] Tema1 = almacenarTema(1,c);
Pregunta[] Tema2 = almacenarTema(2,c);
Pregunta[] Tema3 = almacenarTema(3,c);
Pregunta[] Tema4 = almacenarTema(4,c);

for(i=0;i<3;i++){
random = (int) (Math.random() * 20);
Examen[i] = Tema1[random];
}
for(i=3;i<6;i++){
random = (int) (Math.random() * 20);
Examen[i] = Tema2[random];
}
for(i=6;i<9;i++){
random = (int) (Math.random() * 20);
Examen[i] = Tema3[random];
}
for(i=9;i<12;i++){
random = (int) (Math.random() * 20);
Examen[i] = Tema4[random];
}
for(i=0;i<12;i++){
//do{
random = (int) (Math.random()* 12);
//}while (Repetido(12,random,Examen) == true );
Examen[i] = Examen[random];
}
return Examen;
}

si te fijas en los for, van de 3 en 3, porque tengo que seleccionar 3 preguntas de entre los 4 temas, luego hago eso, y luego la idea es desordenarlas con el metodo Repetido el cual si te fijas le meto los parametros 12 por ser 12 las preguntas , random que es la cifra aleatoria, y Examen que es del tipo Pregunta.
luego lo inicio con
Código (java) [Seleccionar]
Pregunta[] Examen = Almacenador.Examen(c);
                for (int i = 0; i < Examen.length; i++) {//vamos preguntando
EstiloU();
if (Examen[i].preguntar() == true) {
puntos = puntos + 1;
acertadas++;
} else
puntos = puntos - (4 / 10);
}
  y si te fijas mi metodo Repetido y luego el uso es parecidisimo al tuyo,yo a la hora de usarlo hago un do-while y el otro metodo se rige por un bucle while con esta condicion
Código (java) [Seleccionar]
while ((repetido != true)||(j < i)){
#24
como que barajar los indices???nu entiendo eso..yo lo que he hecho es que teniendo ls preguntas en un vector, pues lo igualo a otro, eso de momento me va bien, pero claro para impedir que tenga dos preguntas iguales, resultado de 2 veces el mismo valor en math.random pues me he hecho el metodo Repetido...xo no me tira...
#25
Java / Problema con la ejecucion de un metodo
9 Enero 2008, 16:33 PM
tengo este metodo por un lado

Código (java) [Seleccionar]
public static boolean Repetido(int i,int random,Pregunta[] P){
int j = 0;
boolean repetido = false;
while ((repetido != true)||(j<i)){
if(P[j] == P[random])
repetido = true;
j++;
}
if (repetido = true)
return true;
else
return false;
}

}

y lo quiero usar como condicion en un while para saber si se me repiten los casos aleatorios, y de ser asi, pues que vuelva a ejecutar Math.random...
aqui pongo el otro metodo:
Código (java) [Seleccionar]
public static Pregunta[] TemaRepasar(Pregunta[] preguntas) {
int random;
Pregunta[] preguntasRepasar = new Pregunta[10];
for (int i = 0; i < preguntasRepasar.length; i++) {
do{
random = (int) (Math.random() * 20) + 1;
}while (Repetido(9,random,preguntasRepasar) == true );
preguntasRepasar[i] = preguntas[random];
}

return preguntasRepasar;
}


Eclipse no me marca ningun fallo en el codigo, pero cuando ejecuto el metodo me lo marca aqui:
   
Código (java) [Seleccionar]
preguntasRepasar[i] = preguntas[random];

antes de introducir el metodo repetido me tiraba bien 1 vez (usease en tiempo de ejecucion una vez que queria volver a repasar de nuevo se me colgaba pero la primera vez siempre me ha dejado)  y ahora con el metodo repetido no...
si me podeis ayudar...
muxas gracias