Hola
Estoy intentando escribir una función recursiva que calcula la longitud de la cadena en Java
Sé que ya existe la función str.length(), pero el planteamiento del problema quiere implementar una función recursiva¿cómo termina la cuerda en java?
En lenguaje de programación C el carácter de terminación es '\ 0', solo quiero saber cómo saber si la cadena termina en Java
Mi programa finaliza bien cuando pongo '\ n' en la cadena de prueba. Por favor hagamelo saber. ¡Gracias!
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package careercup.google;
/**
*
* @author learner
*/
public class Strlen {
private static final String Test = "abcdefg\n";
private static int i =0;
public static void main(String args[]){
System.out.println("len : " + strlen(Test));
}
private static int strlen(String str){
if(str == null){
return 0;
}
if(str.charAt(i) == '\n'){
return 0;
}
i += 1;
return 1 + strlen(str);
}
}
Salida:
run:
len : 7
BUILD SUCCESSFUL (total time: 0 seconds)
+1, este fue el ejemplo (completamente inventado) que habría escrito, si no me hubieras salvado de la tarea:) –
@learner: Este ejemplo es mucho menos artificial en C, donde tiene acceso a la memoria vacía, y el código (cuando está optimizado) se compila en el mismo ciclo que: 'int count = 0; while (pointerToChar ++! = NULL) {count ++; } ' –