Pregunta

Hola
Estoy tratando de 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

En el lenguaje de programación C es el carácter de terminación '\ 0', sólo quiero saber cómo saber si los extremos de cadena en Java

Mis extremos programa bien cuando me puso '\ 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)
¿Fue útil?

Solución

Por favor, tenga en cuenta que este código es muy ineficiente, pero calcula longitud de una cadena en forma recursiva.

private static int stringLength(String string){
        if(string == null){
            return 0;
        }

        if(string.isEmpty()){
            return 0;
        }

        return 1 + stringLength(string.substring(1));
    }

Otros consejos

cadenas de Java no son cadenas C. Los extremos de cuerda después de que el número de caracteres en su longitud.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top