Problemi di encoding, almeno credo

di il
4 risposte

Problemi di encoding, almeno credo

Salve a tutti, sono fabio... nuovissimo di questo forum e sopratutto di java con cui vorrei cimentarmi da quest'anno.
ho scaricato un paio di manuali e al momento mi sono appoggiato a quello di caludio de sio, il java 5, che credo che per iniziare ad imparare le basi uno valga l'altro, poi con il vostro aiuto magari potrò fare una scelta migliore.
vengo al dunque,uso WInzzoz 7, installo il java e quant'altro per falro funzionare, imposto PATH, editor ho iniziato con "conTEXT" e parto... per non sapere ne leggere e ne scrivere come tutti provo il mio primo programmino per vedere se il tutto funziona ed e' configurato bene, il classico HelloWorld e tutto funziona alla perfezione, allora provo qualcosa di piu' complicato sempre e solo per testare il funzionamento del java e copio nell'editor di pari passo un programma un po piu' complesso e subito i primi errori, a mio avviso di codificavi allego:

C:\.....\Esercizio3A, java:14: error: illegal character: '\u2013'
double r4 - r1 - r2 -r3;


riprovo con un altro programma e gli errori piu' o meno sono sempre quelli "illegal character"

dopo ho provato con un altro editor "notepadd++" ma gli errori sono sempre quelli, anche provando altri esempi da altri manuali, ma la cosa strana e' che alcuni programmi funzionano bene senza intoppi... ci sbatto la testa da ieri pomeriggio ma non en vengo a capo ed ho vogli di iniziare ad imparare.

mi date una mano plssssss

4 Risposte

  • Re: Problemi di encoding, almeno credo

    fabbio ha scritto:


    a mio avviso di codificavi allego:

    C:\.....\Esercizio3A, java:14: error: illegal character: '\u2013'
    double r4 - r1 - r2 -r3;
    Il carattere Unicode U+2013 è il en-dash ( http://www.charbase.com/2013-unicode-en-das ) e non può essere usato in espressioni aritmetiche. Per il "meno" aritmetico va usato solo ed esclusivamente il simbolo ASCII " - " codice Unicode U+002D

    Comunque una istruzione a sé stante scritta esattamente così:
    double r4 - r1 - r2 -r3;
    non è corretta, né ha senso.

    Riguardo la questione dei charset, sì, la questione esiste ed è in generale. Nel sorgente java puoi usare caratteri speciali, ad esempio negli identificatori o nelle stringhe.

    String città; // a accentata

    "alpha è a"

    Se ci sono caratteri speciali nel sorgente: a) devi usare un editor che sia in grado di gestire e salvare il sorgente in un charset che è in grado di rappresentare quei caratteri e b) se il charset è diverso da quello di "default" della piattaforma, devi informare il compilatore, se usi direttamente javac es. (per UTF-16):

    javac -encoding utf-16 ........
  • Re: Problemi di encoding, almeno credo

    And, grazie per la tua rapida risposta, ti posto l'esempio del programma che ho trovato nel manuale sopracitato:
    public class Esercizio3A {
    public static void main (String args[]) {
    int a = 5, b = 3;
    double r1 = (double)a/b;
    System.out.println("r1 = " + r1);
    char c = 'a';
    short s = 5000;
    int r2 = c*s;
    System.out.println("r2 = " + r2);
    int i = 6;
    float f = 3.14F;
    float r3 = i + f;
    System.out.println("r3 = " + r3);
    double r4 = r1 – r2 – r3;
    System.out.println("r4 = " + r4);
    }
    }
    quello che no capisco e' che tipo di editor devo usare o come impostare un coding per poter iniziare ad imparare, perche capisci che se leggo e imparo ma no riesco a provare cio' che studio
    si fa dura.
    so' di essere nel pieno dell'ignoranza su java ma anche dalle tue semplici parole difficilmente ne vengo a capo!!
    grazie ancora e scusami!!!
  • Re: Problemi di encoding, almeno credo

    fabbio ha scritto:


    double r4 = r1 – r2 – r3;
    Ok, prima questa riga l'avevi postata senza il =, ora strutturalmente è corretta. Però i segni meno NON sono i caratteri ASCII " - " ma quel en-dash. Il problema non è tanto di codifica ... è che quei en-dash lì NON ci vanno.

    (sicuramente un problema di copia-incolla da una sorgente dove c'erano già gli en-dash)

    fabbio ha scritto:


    quello che no capisco e' che tipo di editor devo usare o come impostare un coding
    Verifica la configurazione del editor. Se è Notepad++: Configurazione -> Preferenze, sezione "Nuovo documento" (per i nuovi documenti). Comunque il charset corrente è anche visibile dal menù "Formato"
  • Re: Problemi di encoding, almeno credo

    And, avevi ragione, nel copia e incolla quei segni meno " - " erano interpretati come codici diversi, perche' riscrivendo l'intero programma a mano (i meno erano diversi dal manuale) e tutto e' filato liscio.

    grazie ancora a presto
    e grazie per la disponibilita'!!!

Devi accedere o registrarti per scrivere nel forum
4 risposte