SoloCodigo

Programación General => Java => Mensaje iniciado por: sanlegas2000 en Lunes 19 de Septiembre de 2011, 07:32

Título: recursividad con cadenas
Publicado por: sanlegas2000 en Lunes 19 de Septiembre de 2011, 07:32
Bueno amigos el caso es que me dejaron hacer un programa que calcule la longitud de una cadena en forma recursiva, el codigo ya lo tengo, al momento de compilar no me marca error pero al ejecutar si, me pueden ayudar?
Código: Java(TM) 2 Platform Standard Edition 5.0
  1. public class prubea
  2. {
  3.  
  4.        
  5.         public int longi(String cad,int pos)
  6.         {
  7.                 //int ad=cad.length();
  8.                 if (cad.charAt(pos)!='\0')
  9.                 {
  10.                         return longi(cad, pos+1);
  11.                 }
  12.                 else
  13.                         return pos;
  14.         }
  15.    public static void main( String args[] )
  16.    {
  17.      
  18.  
  19.       String s = new String( "hello" );
  20.            prubea obj=new prubea();
  21.  
  22.           System.out.println(""+obj.longi(s,0));
  23.            //obj.longi(s,0);
  24.            
  25.  
  26.       System.exit( 0 );
  27.    }
  28.  
  29. }
  30.  
Título: Re: recursividad con cadenas
Publicado por: arielb en Lunes 19 de Septiembre de 2011, 19:20
Hola, el problema es que siempre le estás sumando una posición y al momento de usar la función charAt no se verifica si la variable pos tienen un núnmero mayor a la longitud y se está pasando de la longitud.
Por otro lado debes mostrarle lo que tienes a tú profesor y preguntarle si es eso exactamente lo que pide.

Saludos,
Título: Re: recursividad con cadenas
Publicado por: sanlegas2000 en Miércoles 21 de Septiembre de 2011, 08:00
gracias por la repuesta saludos