2011-08-20 11 views
5

Non sono sicuro del motivo per cui sta dando questo errore. Le parentesi sembrano avere ragione. Un'altra cosa è che lo stesso programma funziona in Eclipse di Windows ma non in Eclipse per Mac. Quale potrebbe essere la ragione?Errore di sintassi sul token "Carattere non valido", cancella questo token

import java.util.Vector; 

public class Debug 
{ 
    private int something = 0; 
    private Vector list = new Vector(); 

    public void firstMethod() 
    { 
     thirdMethod(something); 
     something = something + 1; 
    } 
    public void secondMethod() 
    { 
     thirdMethod(something); 
     something = something + 2; 
    } 
    public void thirdMethod(int value) 
    { 
     something = something + value; 
    } 

    public static void main(String[] args) 
    { 
     Debug debug = new Debug(); 
     debug.firstMethod(); 
     debug.secondMethod(); 
    } 
} 
+0

Funzionante con me –

+0

Quale numero di riga? –

+0

@Ed Staub Line 30 – Ava

risposta

13

Ah, ok - è probabilmente un controllo-Z o un altro carattere non stampabile al termine del file che viene ignorato in Windows ma non su Mac. Hai copiato l'origine da Windows al Mac. Elimina gli ultimi caratteri e reinseriscili: penso che andrà via. Però non faccio Mac, sto solo supponendo.

+0

Woah ha funzionato! Grazie mille :) – Ava

+0

Dovresti anche essere in grado di convertire i delimitatori di linea (che sospetto sia il vero problema) dal menu File. – nitind

+0

@nitind, i problemi di delimitazione della linea dovrebbero essere segnalati come sulla linea oltre l'ultima riga del file? Mi sarei aspettato di vederli sulla linea 1 o 2. La stessa impostazione pulisce tranquillamente anche altre cose? –

1

Ho avuto lo stesso problema importando i miei progetti da mac a linux Slackware. Mac OSX crea alcuni file temporanei con lo stesso nome dei file nelle cartelle (con nome_filename) in tutte le cartelle. Di solito questi file sono invisibili in Mac OSX, ma negli altri SO no. Eclipse può trovare questi file e tenta di gestire fonti simili (._filename.java). Ho risolto l'eliminazione di questi file.

1

L'unico modo per risolvere questo problema era premere Ctrl + A per selezionare tutto il testo del file, quindi Ctrl + C per copiarli, quindi eliminare il file e creare una nuova classe con l'idea intellij e poi Ctrl + P per incollare il testo nel nuovo file. questo risolve il mio problema e il compilatore non mostra mai errori dopo questa soluzione.

0

Ho ricevuto lo stesso errore quando ho importato un progetto che ho creato su un Mac, su Windows. Come @Massimo dice Mac crea ._filename, java file che eclipse in esecuzione in Windows considerano come file sorgente. Questo è ciò che causa il problema.

Sono file nascosti, che è possibile visualizzare quando si seleziona l'opzione "Mostra file e cartelle nascosti" nelle opzioni di cartella nel computer Windows. L'eliminazione di questi file risolve il problema.

0

Ho ricevuto questo messaggio cercando di chiamare un subjob da un componente tRunJob. Nel tRunJob avevo entrambi controllato "trasmetti l'intero contesto" e elencato i singoli parametri nella casella parametri/valori. Una volta rimossi i parametri aggiuntivi ha funzionato.

0

Ci sono probabilmente caratteri nascosti nella linea. Se muovi il cursore attraverso i caratteri e il cursore non si sposta in un carattere, significa che nella riga c'è un carattere non valido. Elimina quelli e dovrebbe funzionare. Prova anche a copiare e incollare la riga su un editor esadecimale e vedrai i caratteri non validi.

Problemi correlati