[Problema con recursividad] Java

Iniciado por Desu Nya, 8 Octubre 2017, 06:53 AM

0 Miembros y 1 Visitante están viendo este tema.

Desu Nya

Tengo el siguiente problema  "Pedir un valor y determinar si es primo" usando recursividad

public class pr2

   int a = 0, b = 0;
   int i = 1;
   public String Numero(int a)
   {
   if(i <= a)
         {
          i+=1; 
          if(a%i==0)
             {
                 b++;
             }
         else
         return Numero(a);
         }
         if(b!=2)
         {
              return "Es Primo";
         }
            else
            {
              return "No es Primo";
            }


}
}
//Main
public class Mpr3
   {
   public static void main (String ... args)
      {
   Consola c = new Consola();
   pr2 pr = new pr2();
   int n = c.pedir("Ingresa un valor: ", 0);
   c.mostrar(pr.Numero(n));
   }
   }


esta es una up-date de mi programa ayer en la noche cambie todo desde 0 y ya no me marca erro pero me dice que cuqleuir numero es primo
Gracias.

ivancea96

Integer.parseInt(r2)
Que viene siendo:
Integer.parseInt("No es primo")
parseInt transforma una cadena con un número en un int. Esa cadena no es un número. Esta sí lo sería: "4856".

Desu Nya

Cita de: ivancea96 en  8 Octubre 2017, 12:09 PM
Integer.parseInt(r2)
Que viene siendo:
Integer.parseInt("No es primo")
parseInt transforma una cadena con un número en un int. Esa cadena no es un número. Esta sí lo sería: "4856".

Ya volvi a hacer el codigo de una forma mucho mejor x,D, gracias me di cuenta que eso no era necesario