Concatenare due Stringhe

di il
3 risposte

Concatenare due Stringhe

Salve a tutti,era da parecchio che non scrivevo e necessito dell'aiuto dei grandi esperti Avevo intenzione di concatenare due Stringhe inserite da me,direttamente,tramite il costruttore.

package prova;

//main
public class Prova{
	public static void main (String args[])
       {
           ConcatenaStringhe Parole=new ConcatenaStringhe("Ciao","Luca");
           System.out.println("Parole concatenate .. "  + Parole.concatenaRicorsiva());
           
       }
}

package prova;
/**
 *
 * @author Acer
 */
public class ConcatenaStringhe {
    private String sinistra;
    private String destra;
    private String Unita;
    static int i=0;
    
    ConcatenaStringhe(String Stringa1,String Stringa2)
    {
        this.sinistra=Stringa1;
        this.destra=Stringa2;
    }
    
    ConcatenaStringhe ()
    {
        this.sinistra=null;
        this.destra=null;
    }
    
    public String concatenaRicorsiva(){
        if ((sinistra.length()-1)==i)
            return Unita;
        Unita=destra+""+sinistra.substring(i,i+1);
        i++;
        return concatenaRicorsiva();
    }    
}
L'idea era quella di usare substring e "svuotare"la parola sinistra in modo copiarla direttamenta alla fine della destra. Quindi ho fatto un controllo tramite un contatore se ero arrivato alla lunghezza -1 della parola di sinistra. Se non ero arrivato copiavo,o almeno l'intenzione era quella di copiare,la lettera i-esima della parola sinistra e poi con una soluzione ricorsiva Stampare a video invece di Ciao Luca , LucaCiao. Purtroppo in output ricevo solo Lucaa.

Help me

3 Risposte

  • Re: Concatenare due Stringhe

    Nessuno che può darmi una mano cortesemente =)
  • Re: Concatenare due Stringhe

    Suggerimenti:
    - ti conviene fare in modo che non sia il metodo pubblico concatenaRicorsiva ad essere quello "ricorsivo". Mettine uno privato che diventa quello ricorsivo, il concatenaRicorsiva farà partire il tutto invocandolo.
    - il metodo privato ricorsivo potrebbe ricevere banalmente una stringa che all'inizio è tutto il contenuto di 'destra' e man mano passi ricorsivamente un substring partendo da 1, ovviamente finché possibile. Poi chiaramente concateni solo il primo carattere.

    Se devi partire da una stringa vuota "" e appendere in modo ricorsivo sia 'sinistra' che 'destra', allora semplicemente applicherai 2 volte il metodo ricorsivo dentro concatenaRicorsiva.
  • Re: Concatenare due Stringhe

    Grazie per la risposta,appena torno a casa provo ^^ però vorrei chiedere il perchè non dovrebbe funzionare se è public.. ?
Devi accedere o registrarti per scrivere nel forum
3 risposte