Domanda


Hi Sto cercando di scrivere una funzione ricorsiva che calcola la lunghezza della stringa in Java
So che esiste già la funzione str.length (), ma la dichiarazione del problema vuole implementare una funzione ricorsiva

In C linguaggio di programmazione il carattere di terminazione è '\ 0', voglio solo sapere come sapere se le estremità della stringa in Java

Le mie estremità del programma bene quando ho messo '\ n' nella stringa di prova. Per favore mi faccia sapere. Grazie!

/*
 * 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);
    }
}

Output:

run:
len : 7
BUILD SUCCESSFUL (total time: 0 seconds)
È stato utile?

Soluzione

Si prega di tenere presente che questo codice è molto inefficiente, ma calcola lunghezza di una stringa in modo ricorsivo.

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

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

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

Altri suggerimenti

stringhe Java non sono stringhe C. Le estremità stringa dopo il numero di caratteri nella sua lunghezza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top