|
Mostrar Mensajes
|
Páginas: 1 2 [3]
|
21
|
Programación / Java / Re: Ayuda con Switch anidados
|
en: 3 Diciembre 2016, 19:23 pm
|
Lo normal es que vaya a donde quieras de forma "natural". Por ejemplo, tienes un do-while. Su condición, si es false, lo haría salir al anterior, y luego lo mismo para el B. También puedes poner una flag: boolean salir = false; do{ // switch salir = true; }while(/* tu condición */ && !salir);
Otra opción, es con el "break with label": search: for (i = 0; i < arrayOfInts.length; i++) { for (j = 0; j < arrayOfInts[i].length; j++) { if (arrayOfInts[i][j] == searchfor) { foundIt = true; break search; } } }
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.htmlSiempre que puedas, mi recomendación es que lo hagas sin labels, de la forma más estructurada posible (Otros lenguajes no te permitirán hacer lo del label) Otra opción, sería dividir el código en funciones (donde sean necesarias). Así, tendrás 2 posibilidades: break y return. Return saldrá de todos los loops y switchs, mientras que break solo del primero. Muchas gracias pero lo que yo quiero no es retroceder al anterior, quiero ir directamente al primero.
|
|
|
22
|
Programación / Java / Ayuda con Switch anidados
|
en: 3 Diciembre 2016, 12:47 pm
|
Bueno mi pregunta es sencilla, cómo hago para salir de switch anidados, pero no al anterior, sino al 1º de todos. Ejemplo: public class prueba_ { public static void main (String[] args ) { int a; int b; int c; do { /*Supongamos inicio a */ switch (a) { case 1: /*Sentencias... */ break; case 2: /*Sentencias... */ break; case 3: /*Sentencias... */ break; case 4: do { /*Supongamos inicio b */ switch (b) { case 1: /*Sentencias... */ break; case 2: /*Sentencias... */ break; case 3: do { /*Supongamos inicio c */ switch (c) { case 1: /*Sentencias... */ break; case 2: /*Sentencias... */ break; default: break; } } while (c<2); default: break; } } while (b<3); default: break; } } while (a<4); } }
Como podría por ejemplo ir directamente del case 1 del switch c, al switch a. Gracias de antemano.
|
|
|
23
|
Programación / Java / Re: Una dudilla para un programa Java
|
en: 1 Diciembre 2016, 19:20 pm
|
Muestra lo que tienes para dar una idea, por ejemplo me imagino algo como: class Juego{ private int intentosMin = 99; //cualquier número muy alto public void play(){ int intentos = 1; /* * Aqui la lógica del juego * intentos++; */ if( intentos < intentosMin) intentosMin = intentos; System. out. println("Terminado en " + intentos + " intentos"); System. out. println("Record : " + intentosMin + " intentos"); } }
Juego miJuego = new Juego(); miJuego.play(); //jugar por primera vez miJuego.play(); //jugar por segunda vez
Saludos Bueno creo que con lo que acabas de hacer, me has dado la idea que necesitaba. MUCHAS GRACIAS XD
|
|
|
24
|
Programación / Java / Re: Una dudilla para un programa Java
|
en: 1 Diciembre 2016, 15:42 pm
|
Hay dos opciones. Una es declarar esa variable como estatica, con lo que será compartida por cualquier clase que haya en el programa (fuera de otras clases claro). Si el problema es que se pone a cero cada vez que inicias el programa, entonces es algo tan simple como que debes de guardar ese dato en un recurso externo. Lo normal es que en un fichero, por ejemplo uno de simple texto plano
No no me has entendido. Yo no quiero que los datos se guarden al finalizar el programa. Yo lo que digo es que cuando esté el programa en ejecución si tú haces el juego 1 vez, te ponga esos intentos. Pero si lo haces una 2º vez, si esos intentos son menores que los de la 1º vez, cambien, si y solo sí, son menores que los primeros. De momento no me interesa almacenar los intentos en ningún sitio, quiero que sean volátiles pero que se actualicen como he comentado xd. Gracias
|
|
|
25
|
Programación / Java / Una dudilla para un programa Java
|
en: 30 Noviembre 2016, 12:33 pm
|
Hola muy buenas, necesitaría que alguien me diese una pista de como puedo hacer esto.
El ejemplo es el siguiente:
Yo ejecuto un juego, ejemplo: -Juego1 -Juego2 ... etc
Y al acabarlo, me pone esto. Juego1 (Acabado en x intentos) Juego2 ... etc
Hasta ahí bien, lo que yo quiero saber es como puedo decirle que esos intentos (x) no cambien si al hacer otra vez el juego son mayores que los de antes, es decir, al ejecutar otra vez el juego y tener unos intentos "y", si esos "y" son mayores que los "x", no cambie ese valor.
El problema que tengo es que me los cambia sea cual sea los valores, y bueno necesito algo de ayuda de alguien que me diga por donde podrían ir los tiros. Gracias de antemano.
|
|
|
26
|
Programación / Java / Re: ¿Alguna idea para esto?
|
en: 27 Noviembre 2016, 10:51 am
|
variables globales... basicamente es declarar una variable en el maximo scope del programa... no trabajo en java... asi que no estoy muy seguro de ello, pero creo que es creando una clase publica externa public class Example { public static int a; public static int b; }
y las accedes Example.a; Example.b;
Muchas gracias, era así.
|
|
|
27
|
Programación / Java / ¿Alguna idea para esto?
|
en: 26 Noviembre 2016, 11:40 am
|
Hola muy buenas. ¿Alguien me puede decir como podría mantener una variable durante toda la ejecución del programa? Explico la situación: Yo tengo una variable (llamemosle a) que la declaro al principio del programa. Esa variable luego la uso en una parte del programa, y obviamente, se actualiza y pasa a tener otro valor distinto. Mi pregunta es: ¿Ese valor final con el que me queda, hay alguna manera de "guardarlo" y usarlo mientras el programa esté en ejecución? Es decir, en una parte anterior al momento en el que se actualizó esa variable. Por ejemplo para esto:
Yo tengo lo siguiente: 1-Juego1 2-Juego2 ... Etc
Si yo quiero por ejemplo que me salga al resolver el juego 1, así: 1-Juego1 (Resuelto). 2-Juego2 ...
En una primera vez sé hacerlo, es decir, ejecutas el programa, y si quieres no continuar el juego, te dice eso. El problema viene cuando yo por ejemplo me salgo de el "switch" a otro que está por encima. Cuando vuelvo, ya no me pone "resuelto", porque creo que esa variable ha volado. ¿Alguna idea? Gracias de antemano
|
|
|
|
|
|
|