Newsgroup: it.comp.java
Titolo: Verificare parola palindroma

Salve ragazzi, devo implementare un metodo in java che controlli se una
parola è palindroma, ovvero se leggendola al contrario visualizza la stessa
parola letta normalmente, qualcuno conosce per caso una funzione che può
fare questo? Avevo pensato a scandire la parola, e controllorare il primo
carattere con l'ultimo, il secondo con il penultimo e così via, ma essendo
la parola di tipo stringa non so come fare per accedere direttamente ad
ogni carattere di essa. Infine vorrei trovare una lista della parole
palindrome, per testare poi il mio programma, fino ad ora ne ho trovate
solo tre: anna, osso e inni, se qualcuno ne conosce altre mi faccia sapere.
Grazie a chi vorrà aiutarmi  :) 
-- 
ICQ # 84624356
MSN 
lello...@katamail.com
Yahoo ilpuntatore


Provato con String.charAt(i) (restituisce il char al posto i nella stringa)? 

Il_Puntatore wrote:

Una scorsa alla documentazione di string?
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#charAt(int)

 
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#charAt(int)
Alternativa per pigri:
public boolean isPalindrome(String text) {
  return new StringBuilder(text).reverse().toString().equals(text)
}
Per le ottimizzazioni, tipo riusare l'istanza dello StringBuilder, c'è
sempre tempo: però non mi ci stava più nella riga :)
uL
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Alternativa per pigri:
Concordo che questi piccoli problemi, risolvibili in tanti modi più o 
meno eleganti e/o efficienti, sono un "termometro" di quanto una persona 
sia pigra nell'affrontare la programmazione.

 solo tre: anna, osso e inni, se qualcuno ne conosce altre mi faccia sapere.
Google palindromi:
Aerea
Afa
Aia
Ala
Ama
Anilina
Anna
Arerà
Ava
Avallava
Aveva
Ereggere
Esose
Ingegni
Kayak
Onorarono
Ossesso
Ottetto
Radar
Otto
Salas (?)
Accavallavacca (?)
Saluti
CarMas

 sia pigra nell'affrontare la programmazione.
IMHO spesso nella programmazione "pigro è meglio".
Per tre motivi:
1) perchè può essere pigro chi conosce bene il linguaggio e le sue librerie
2) perché meno scrivi e meno probabilità hai di introdurre bug (alla H. 
Ford :-) )
3) perché spesso il codice pigro (senza arrivare agli eccessi) è più 
"bello" e di facile comprensione. P.e. il codice di ugo è secondo me 
molto più chiaro di quanto non lo sarebbe un loop con vari charAt(), 
oltre che probabilmente anche più performante.
pole
-- 
ammentos - a lightweight persistence framework for JDK5
http://www.sourceforge.net/projects/ammentos
http://ammentos.biobytes.it

 IMHO spesso nella programmazione "pigro č meglio".
Sono d'accordo che pigro č meglio. Ma permetti, se un piccolo problema 
(praticamente didattico) ha piů soluzioni e non ne trovi neanche una 
siamo evidentemente all'eccesso.

 siamo evidentemente all'eccesso.
LOL :)


 della parole palindrome
Scrivi un programma che generi stringhe palindrome :)
Algoritmo:
estrai un numero L tra 1 e Max_Lenght
S e' la nuova stringa
if( L è dispari) {
  estrai un numero tra il codice ascii di a e quello di z.
  insirisci il carattere estratto in S.
}
for (i=0; i<L; i++) {
  scegli a caso un numero tra il codice ascii di a e quello di z
  appendi il carattere all'inizio e alla fine della stringa
}
-- 
chi sono e soprattutto chi non sono:
http://www.softeaware.it

 }
Interessante, ma cosi' ti viene fuori una stringa che potrebbe essere 
piu' lunga di Max_Length. Prendi proprio il caso di L=Max_Length e viene 
  lunga il doppio!
(sottigliezze)
Saluti
CarMas

 (sottigliezze)
certo hai ragione, Max_length è un nome di variabile come un altro :)
Insomma il senso si capisce, quindi dovrebbe anche essere chiaro come fare
una stringa lungha Max_length :)
anzi avrei anche dovuto contare il carattere già aggiunto all'inizio in caso
di stringa dispari, ma non credo che qui sia così importante, era giusto
un'idea di massima.
Ciao!


 ha scritto nel messaggio 
news:dg62im$5df$1...@area.cu.mi.it...

Grazie per i tanti consigli, comunque ho risolto il problema, prendendo la 
stringa iniziale e copiandola al contrario in un'altra stringa, poi le 
confronto, se sono uguali la stringa è palindroma, altrimenti non lo è. Come 
potrebbe definirsi questa soluzione, da programmatore pigro o no? :-)


 potrebbe definirsi questa soluzione, da programmatore pigro o no? :-)
Intanto da programmatore ;-) e scusa se č poco.

 potrebbe definirsi questa soluzione, da programmatore pigro o no? :-)
è esattamente quella che ti ho postato, solo che la copia al contrario la
fa già la classe StringBuilder (e la "vecchia" StringBuffer)
direi quindi non pigro e non lettore ;)



A me pare che nelle intenzioni di chi ti ha posto il problema (č un 
esercizio per l'universita', no?)
ci fosse una soluzione che prevedesse l'uso dell'iterazione su un metodo che 
chiama se stesso.
Se fosse cosi', la tua soluzione, se pur 'pigra', avrebbe un voto basso...
Ciao,
Augusto 

 parola è palindroma
scusa, un'altra idea stupida, probabilmente gradita come soluzione
accademica :)
passo base:
una stringa è palindroma se ha un numero di caratteri <=1
passo induttivo:
una stringa di n caratteri è palindroma se il primo e l'ultimo carattere
sono uguali ed è palindroma la stringa di n-2 caratteri ottenuta dalla
prima eliminando il primo e l'ultimo.
Ciao
