Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    23

    esercizio manipolazione stringhe

    salve l'esercizio è questo: Scrivere un metodo cripta che, data una stringa s, restituisce una nuova stringa ottenuta da s scambiando di posto ciascun carattere di indice pari con il carattere che lo segue (se c'è). Ad esempio:
    data la stringa "pippo" il risultato deve essere "ipppo";
    data la stringa "paperino" il risultato deve essere "apepiron".

    io avevo provato a farlo così ma mi restituisce la stringa vuota cosa c'è che non va???
    codice:
    public class Ex_cripta 
    {
    	public static String cripta(String string)
    	{
    		String out="";
    		for (int i=0; i<string.length()-1;i+=2)
    			
    		out= out+out.replace(string.charAt(i), string.charAt(i+1));
    		return out;
    		
    	}
    
    }

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    out all'inizio è una stringa vuota... e tale resta fino alla fine! Il "replace" pertanto lo fai su una stringa vuota!
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    23
    intanto mi rispondo da sola dicendo che ho modificato
    codice:
    out.replace...
    con
    codice:
    string.replace
    di quest'errore mi sono accorta da sola però non mi funziona ugualmente!

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    23
    Originariamente inviato da Alex'87
    out all'inizio è una stringa vuota... e tale resta fino alla fine! Il "replace" pertanto lo fai su una stringa vuota!
    ho inviato la risposta contemporaneamente alla tua...ma logicamente potrebbe essere una soluzione la mia o è completamente sbagliato?

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da fefuccia
    ho inviato la risposta contemporaneamente alla tua...ma logicamente potrebbe essere una soluzione la mia o è completamente sbagliato?
    Forse è meglio se leggi bene cosa dice la documentazione di replace, ci è sfuggita una cosa
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    23
    allora si probabilmente non era il metodo giusto da usare.... ora ho diciamo posto meglio il problema solo che mi manca un anello se la parola è di lunghezza dispari non riesco a far comparire cmq l'ultimo carattere come scritto nell'esempio intanto scrivo il nuovo codice che per le parole di lunghezza pari funziona
    codice:
    public static String cripta(String string) 
    {
         String out=""; 
         for(int i=0;i<string.length()-1;i+=2) 
         out=out+string.charAt(i+1)+string.charAt(i); 
         return out;
     }
    avevo pensato di scrivere quanto segue ma non funziona
    codice:
    if((string.length()%2>0)
                out=out+string.charAt(string.length()-1);

  7. #7
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Sicuramente non compilerebbe perchè nell'if apri una tonda di troppo... ma, se inserisci quella porzione di codice fuori subito dopo il ciclo for e subito prima della return, mi pare proprio che vada bene. Perchè dici che non funziona?

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    23
    si le tonde in più sono date dai pasticciamenti vari.... e pasticciamenti vari che avevo fatto anche con gli indici infatti alla fine ha funzionato!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.