Autore Topic: while,stringhe e escapes!  (Letto 946 volte)

Offline DarkPhoinix

  • Utente junior
  • **
  • Post: 133
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2 & Samsung Galaxy SII
  • Sistema operativo:
    LNX
while,stringhe e escapes!
« il: 11 Dicembre 2011, 17:10:33 CET »
0
Ho un problema non riesco a usare una mia stringa dopo il classico "\"

Codice (Java): [Seleziona]
int count = 0;
  while (count < 400) {
  mio.testo("\"+count+"-test ");
  sem.we(_object);
count++;
}

solo cosi viene acetato

Codice (Java): [Seleziona]
int count = 0;
while (count < 400) {
                     mio.testo("\""+count+"-test ");
                     sem.we(_object);
                     count++;
                                  }

ma non ottengo i simboli solo numeri, vorrei stampare i caratteri speciali
per ottenere un caratere speciale devo per forza fare :
Codice (Java): [Seleziona]
mio.testo("\200");
sem.we(_object);
      

ma per vederli tutti mi ci vuole una vita. Qualche link dove documentarmi al riguardo ?

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:while,stringhe e escapes!
« Risposta #1 il: 11 Dicembre 2011, 20:15:53 CET »
0
Codice (Java): [Seleziona]
mio.testo("\\"+count+"-test ");

Offline DarkPhoinix

  • Utente junior
  • **
  • Post: 133
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2 & Samsung Galaxy SII
  • Sistema operativo:
    LNX
Re:while,stringhe e escapes!
« Risposta #2 il: 12 Dicembre 2011, 12:24:50 CET »
0
Codice (Java): [Seleziona]
mio.testo("\\"+count+"-test ");

no io vorrei proprio fare una cosa del genere "\n" cioè non voglio vedere \n ma far si che vada a capo o che ne so "\33" inizializzi la stringa "ESC" "\"+var+" quindi var=n o var =r deve funzionare e non scrivere.

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:while,stringhe e escapes!
« Risposta #3 il: 12 Dicembre 2011, 14:35:49 CET »
+1
Non si capisce quali caratteri vuoi inviare.

Java usa la notazione del C per gli escape, quindi se vuoi inviare un carattere non mappato sulla tastiera usi "\NNN" dove NNN è un numero ottale o "\uHHHH" dove HHHH è un numero esadecimale di un carattere Unicode.
adb logcat | tee /tmp/logcat | grep TAG

Offline DarkPhoinix

  • Utente junior
  • **
  • Post: 133
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2 & Samsung Galaxy SII
  • Sistema operativo:
    LNX
Re:while,stringhe e escapes!
« Risposta #4 il: 12 Dicembre 2011, 14:56:24 CET »
0
Non si capisce quali caratteri vuoi inviare.

Java usa la notazione del C per gli escape, quindi se vuoi inviare un carattere non mappato sulla tastiera usi "\NNN" dove NNN è un numero ottale o "\uHHHH" dove HHHH è un numero esadecimale di un carattere Unicode.


Grazie mille !!! Mi serviva prorio !! usavo gli ottali perchè non ero proprio a conoscenza di questa cosa che mi permette di usare gli esadecimali!
Il mio problema e che
Codice (Java): [Seleziona]
"\"+var non viene acetato.
Ora provo con
Codice (Java): [Seleziona]
"\u"+var

Offline DarkPhoinix

  • Utente junior
  • **
  • Post: 133
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2 & Samsung Galaxy SII
  • Sistema operativo:
    LNX
Re:while,stringhe e escapes!
« Risposta #5 il: 12 Dicembre 2011, 15:13:00 CET »
0
Codice (Java): [Seleziona]
"\u"+var
non viene acetato !!! non c'è un modo per far si che io passi hex con variabili?

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:while,stringhe e escapes!
« Risposta #6 il: 12 Dicembre 2011, 16:06:28 CET »
+1
I caratteri di escape funzionano solo al tempo della compilazione non al runtime.

Se "value" è un intero che rapprenta un carattere puoi convertirlo in un carattere con un cast

Codice: [Seleziona]
(char)value
o usare la classe Character con il metodo toString:

Codice: [Seleziona]
Character.toString((char)value)

adb logcat | tee /tmp/logcat | grep TAG

Offline DarkPhoinix

  • Utente junior
  • **
  • Post: 133
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2 & Samsung Galaxy SII
  • Sistema operativo:
    LNX
Re:while,stringhe e escapes!
« Risposta #7 il: 12 Dicembre 2011, 16:15:56 CET »
0
I caratteri di escape funzionano solo al tempo della compilazione non al runtime.

Se "value" è un intero che rapprenta un carattere puoi convertirlo in un carattere con un cast

Codice: [Seleziona]
(char)value
o usare la classe Character con il metodo toString:

Codice: [Seleziona]
Character.toString((char)value)

mmmm.. non ho capito bene.. quindi mi stai dicendo che io non posso cambiare un valore per cambiare un carattere di escape come faccio con una variabile?
tipo:
if (X==1){ var=n}
else {var=r}
Comunque per ora ti ringrazio e partendo dalle tue info mi metto a studiare.

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:while,stringhe e escapes!
« Risposta #8 il: 12 Dicembre 2011, 16:32:40 CET »
+1
La notazione "\uHHHHH" funziona solo quando scrivi nel sorgente una stringa con caratteri Unicode esattamte in quel modo. Scrivere "\u" + value, dove value è un intero che rappresenta un carattere Unicode, non è un codice valido in Java.

Un esempio di utilizzo con il cast:

Codice: [Seleziona]
int value = 65;
String str1 = "CAS" + (char)value;

value = 69;
String str2 = "CAS" + (char)value;
adb logcat | tee /tmp/logcat | grep TAG