PDA

View Full Version : [Java] String to Char : riconoscere spazio


Fire Fox II
21-01-2010, 14:14
Salve raga

come da oggetto...

Durante la conversione di una stringa in un array di caratteri, come faccio a riconoscere lo spazio ?

La funzione (string.charAt(i) == ' ') mi viene restituita come errore...

Thanks

wingman87
21-01-2010, 14:24
In che modo la usi quella funzione? E qual è l'errore che ti riporta?

Don[ITA]
21-01-2010, 15:10
Se vuoi convertire una stringa in un char[], puoi usare toCharArray(). (http://java.sun.com/javase/6/docs/api/java/lang/String.html#toCharArray())

clockover
21-01-2010, 15:57
come faccio a riconoscere lo spazio ?

La funzione (string.charAt(i) == ' ') mi viene restituita come errore...

Thanks


esattamente in quel modo

Es


String y = " Ciao ";
if(y.charAt(0) == ' ')System.out.println("Spazio");

Fire Fox II
22-01-2010, 01:35
Allora, praticamente il problema è questo...

Io ho una stringa contenente una data, del tipo "22 gennaio 2010"

Ora da questa stringa devo catturare in 3 variabili diverse, giorno, mese e anno

Per fare questo devo riconoscere lo spazio...

La funzione (string.charAt(i) == ' ') non me lo rileva

Infatti per la data 5 gennaio, io catturo i primi 2 caratteri in una variabile e poi il casting ad intero, ma ottengo questo errore

http://img686.imageshack.us/img686/6195/spazio.jpg

Naturalmente dovrei fare in modo che il secondo carattere lo salti...

wingman87
22-01-2010, 01:46
Non so se quel quadratino è una notazione particolare per lo spazio oppure è proprio un altro carattere. Nel secondo caso è normale che non funzioni.
Nel primo caso invece probabilmente stai usando nel modo sbagliato charAt. Ad ogni modo in questi casi è più comodo usare il metodo split (la cui documentazione puoi trovare qui -> LINK (http://java.sun.com/javase/6/docs/api/java/lang/String.html#split%28java.lang.String%29))
L'utilizzo è molto semplice, nel tuo caso ad esempio:

String data="22 gennaio 2010";
String tokens[]=data.split(" ");

In questo modo in tokens[0] avrai "22", in tokens[1] "gennaio" e in tokens[2] "2010". Ti resterà da convertire tokens[0] e tokens[2] in interi e sei a posto.

Fire Fox II
22-01-2010, 10:18
Non so se quel quadratino è una notazione particolare per lo spazio oppure è proprio un altro carattere. Nel secondo caso è normale che non funzioni.
Nel primo caso invece probabilmente stai usando nel modo sbagliato charAt. Ad ogni modo in questi casi è più comodo usare il metodo split (la cui documentazione puoi trovare qui -> LINK (http://java.sun.com/javase/6/docs/api/java/lang/String.html#split%28java.lang.String%29))
L'utilizzo è molto semplice, nel tuo caso ad esempio:

String data="22 gennaio 2010";
String tokens[]=data.split(" ");

In questo modo in tokens[0] avrai "22", in tokens[1] "gennaio" e in tokens[2] "2010". Ti resterà da convertire tokens[0] e tokens[2] in interi e sei a posto.

Ottimo! Ti ringrazio :)