Foro de elhacker.net

Programación => Java => Mensaje iniciado por: THANAT0S en 10 Febrero 2011, 13:57 pm



Título: [SOLUCIONADO]Problema con FOR
Publicado por: THANAT0S en 10 Febrero 2011, 13:57 pm
Antes que nada, buenas gente!! Soy bien nuevito en el foro (y en java XD), para practicar estoy haciendo un simple tirador de Dados en Java con Netbeans. Y tengo el siguiente problema:

Código
  1. public static String Randomize(String cantidad, int caras) {
  2.        Random random = new Random();
  3.        int resu = 0; // RETURN SIEMPRE ME DEVUELVE EL VALOR QUE LE ASIGNO AQUÍ A RESU
  4.        int dados = Integer.parseInt(cantidad);
  5.        for (int i = 1; i>dados; i++) {
  6.            int tirada = random.nextInt(caras) + 1;
  7.            resu = resu + tirada;
  8.        }
  9.        return (String.valueOf(resu));

Ese es el codigo para generar un numero random entre 1 y caras, donde caras es la cantidad de caras del dado. Al momento de llamar a esa clase, la variable cantidad viene de un textfield por eso es String. y Caras como son valores fijos ya son int. El problema está en que no sé por qué no ingresa nunca al FOR. No tira error ni nada, pero no veo donde esta mal el código que hace que el FOR nunca se ejecute. Por esa razón el return siempre me devuelve 0 o el valor que con el que inicializo la variable.

Desde ya muchas gracias por las respuestas :)

Saludos!


Título: Re: Problema con FOR
Publicado por: JungleBoogie en 10 Febrero 2011, 14:50 pm
Con esto a mi me funciona:

Código:
    public static int Randomize(String cantidad, int caras)
    {
        int resu = 0;
        int dados = Integer.parseInt(cantidad);
        int i;
        for (i=0;i<dados;i++)
            resu += (int)(Math.random()*caras) + 1; // el +1 es para evitar que salga 0
        return resu;
    }

Devuelve un entero en vez de String.


Título: Re: Problema con FOR
Publicado por: THANAT0S en 10 Febrero 2011, 15:07 pm
Hola! gracias!! :) igual, ya encontré el error en mi código... :S es que el for tenía mal la condición, estaba > en vez de < XD.

Ya sé puede cerrar, ahora le pongo el solucionado al post. Gracias!!