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 ricorsivacome la stringa termina in java?
Nel linguaggio di programmazione C il carattere di terminazione è '\ 0', voglio solo sapere come sapere se la stringa finisce in Java
Il mio programma termina bene quando inserisco '\ n' nella stringa di test. 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);
}
}
uscita:
run:
len : 7
BUILD SUCCESSFUL (total time: 0 seconds)
+1, questo era l'esempio (completamente inventato) che avrei scritto, se non mi avessi salvato dall'attività:) –
@learner: questo esempio è molto meno artificioso in C, in cui si ha accesso alla memoria nuda e il codice (quando ottimizzato) si compila sullo stesso ciclo di: 'int count = 0; while (pointerToChar ++! = NULL) {count ++; } ' –