Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problemi conversione String in Array char

    Ciao a tutti ragazzi,

    Nel tentare di imparare a programmare da autodidatta mi sono imbattuto in un esercizio che mi sta dando un po di problemi. In pratica devo ricevere una variabile string in input, spostarla in un array e da li verificare se la parola inserita è palindroma o meno.
    Ecco il codice:

    codice:
    boolean ok=false;
    		String parola="";
    		do{
    			try{
    				parola=Input.readString("Inserisci una parola palindroma: ");
    				ok=true;
    			}catch(NumberFormatException e){
    				System.out.println("Valore inserito non valido");
    			}
    		}while(!ok);
    		char [] caratteri;
    		caratteri = parola.toCharArray();
    		System.out.println("->"+caratteri.toString());
    		for(int i=0; i<parola.length()/2;i++)	{
    			caratteri[i]=caratteri[parola.length()-i-1];
    		}
    		System.out.println("->"+caratteri);
    Vi allego anche lo screenshot dell'output, ma se non dovesse vedersi:
    Input: 'Aiutatemi vi prego'
    Dopo la conversione in array e l'inversione (ma anche prima) la stampa di 'carattere' è : C@6eb38a

    Grazie in anticipo ragazzi.
    Immagini allegate Immagini allegate

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Non stai stampando il contenuto dell'array (ciascuna cella), ma l'indirizzo in memoria dell'array.

    codice:
    char[] mioArray;
    ...
    System.out.println( mioArray );   // Non ha alcun senso: stampi una "locazione" in memoria
    
    // Si fa così:
    for(char c : mioArray) System.out.print( c );
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Che stupido

    Ti ringrazio per la dritta.
    Ti vorrei chiedere anche questo: una volta che metto la stringa nell'array e la inverto, posso invece stamparla in questo modo:

    System.out.println(caratteri.toString());

    Oppure c'è un altro metodo per fare l'operazione inversa di toCharArray?

    Grazie di cuore.

    Roberto

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da roby492
    System.out.println(caratteri.toString());

    Oppure c'è un altro metodo per fare l'operazione inversa di toCharArray?

    Grazie di cuore.

    Roberto
    String(char[])
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Ciao Lele,

    Grazie per la dirtta. Effettivamente ora sono riuscito senza troppi problemi a svolgere l'eserczio.

    Per Ale: Ho provato anche con il metodo da te segnalato ma non compila...

    Mentre provando anche vetChar.toString() mi crea una stringa che contiene l'indirizzo del vettore.


    Grazie

    Roberto

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da roby492
    Per Ale: Ho provato anche con il metodo da te segnalato ma non compila...

    Mentre provando anche vetChar.toString() mi crea una stringa che contiene l'indirizzo del vettore.
    Fa vedere quello che hai scritto...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    char[] caratteri;
    Riempio il vettore caratteri e poi:
    String prova =String(caratteri[]);

    Se non erro questo metodo prevedeva un parametro String, mentre io gli do in pasto un vettore char.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    in generale

    codice:
    		String pippo = "pippo";
    		char [] caratteri = pippo.toCharArray(); 
    		String newPippo = new String(caratteri);
    //oppure
                    pippo = String.valueOf(caratteri);
    funziona correttamente
    RTFM Read That F*** Manual!!!

  9. #9
    Ah ok ora ho capito...

    Pensavo fosse un metodo String, ma in realtà uso il costruttore per creare una nuova stringa e come parametro passo il mio vettore.

    Grazie Ale, alla prossima :-)

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    si sfrutti i costruttori (o comunque i metodi messi a disposizione da String).
    A tal proposito ti consiglio di consultare le API java su String.

    Infine io non sono Ale ciao
    RTFM Read That F*** Manual!!!

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.