Caratteri escape

di il
2 risposte

Caratteri escape

Ciao a tutti, sono al secondo libro da cui sto studiando, il primo era:
"Manuale di java 5 && OOP" de sio cesari
questo libro mi è sembrato molto buono ma mi ha dato un impronta più teorica che pratica, quindi mi sono dato alla lettura di altri libri così da migliorare. al momento sto studiando da
"programmazione con java" walter savitch seconda edizione(java 7)
e noto che quest'ultimo non è proprio per chi è alle primissime armi, ma siccome ho già un minimo di formazione mi va benissimo.
sono arrivato a studiare le stringhe ed ho trovato un argomenti di cui non avevo sentito nemmeno nel vecchio libro: i caratteri di escape. analizzandoli ho capito quali sono, ma solo per alcuni; altri di quelli elencati non c'erano sul vecchio libro; presumo sia un modo di chiamarli differente.. ho provato ad utilizzare all'interno di un programma il carattere backslash all'interno di una system.out.println();
mi ha riportato un errore molto particolare:
FATAL ERROR in native method: JDWP on checking for an interface, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112)
JDWP exit error JVMTI_ERROR_WRONG_PHASE(112): on checking for an interface [util.c:1313]

ora vi posto il codice, premetto che il resto del programma funziona a meraviglia, anche perchè è estremamente semplice. l'ho anche già testato; l'unica cosa che mi ha dato problemi è stata l'aggiunta dell'istruzione con il suddetto carattere. ora metto la linea di codice "incriminata" come commento. cosa sto sbagliando?
public class StringMethod {

	public static void main(String[] args) {
		String string1 = "Tappeto";
		String string2 = "plastica";
		//System.out.println("la parola\"Tappeto\" si scrive così: " + string1);
		System.out.println(string1.charAt(0));
		System.out.println(string1.compareTo(string2));
		System.out.println(string1.concat(string2));
		System.out.println(string1.equals(string2));
		System.out.println(string1.equalsIgnoreCase(string2));
		System.out.println(string1.indexOf("o"));
		System.out.println(string1.lastIndexOf("o"));
		System.out.println(string1.length());
		System.out.println(string1.toUpperCase());
		System.out.println(string1.toLowerCase());
		System.out.println(string1.replace("o", "a"));
		System.out.println(string1.substring(4));
		System.out.println(string1.substring(0, 3));
		System.out.println(string1.trim());
	}
}
mille grazie a chi mi risponderà e buona giornata

EDIT: ho riprovato ad eseguire nuovamente e stavolta l'errore è scomparso.. il problema sarebbe anche risolto, ma mi spieghereste comunque cosa è successo?

2 Risposte

  • Re: Caratteri escape

    fausto94 ha scritto:


    mi ha riportato un errore molto particolare:
    FATAL ERROR in native method: JDWP on checking for an interface, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112)
    JDWP exit error JVMTI_ERROR_WRONG_PHASE(112): on checking for an interface [util.c:1313]
    Sì è strano ma è comunque una cosa molto, molto interna della JVM.
    E "a naso" non c'entra nulla con gli escape di per sé.

    Quello che invece vedo nel tuo codice è (sebbene l'hai commentato) una stringa che contiene un caratteri non ASCII ovvero "ì".
    Quindi entrano in gioco le questioni sui set di caratteri. Che editor (o IDE) hai usato? Il sorgente è stato scritto su file con quale set di caratteri? E il compilatore compila sapendo del set di caratteri corretto?
    Dipende tutto da editor/IDE, configurazioni, compilazione se "a mano" (con javac) o da IDE ecc...
    Insomma, nulla che si possa definire "scontato".
  • Re: Caratteri escape

    Allora, l'istruzione l'ho postata come un commento per metterla in evidenza ma nel programma era senza commento. l'ide é eclipse mentre per il set di caratteri ho lasciato le impostazioni di default, ma non saprei quali sono, devo controllare ma sono quasi certo non sia quello il problema: quel carattere l'ho utilizzato in altri prgramma senza mai avere probemi. la compilazione é avvenuta tramite il comando rapido F11, ossia il semplice esegui senza javadoc. probabilmente mi preoccupo per nulla, sebbene era più curiosità che preoccupazione. ti ringrazio tanto, indagheró anche da me.
Devi accedere o registrarti per scrivere nel forum
2 risposte