Newsgroup: it.comp.java
Titolo: errore compilatore

Qualcuno mi saprebbe dire perchč, sia col JDK della Sun (versione 1.0) che
con Microsoft Visual J++(versione 1.0) il compilatore mi da lo stesso
errore, cioč:
Expected type specifier            e:
Expected identifier
alla riga con scritto:
     if(scelta == '1'){
Il codice del programma č:
class menu{
    char scelta;
     public static void main(String args[])
         throws IOException{
         System.out.println(/*messaggio*/)
         scelta = (char)System.in.read();
     }
     if(scelta == '1'){
        System.out.println(/*messaggio*/);
     }
    else if(scelta == '2'){
        System.out.println(/*messaggio*/);
    }
    else{
        System.out.println(/*messaggio*/)
    }
}
E' un errore del compilatore java o un mio errore?
Colgo l'occasione per domandare, dato che ho l'intenzione di acquistare un
ambiente visuale di programmazione java, se ci sia un programma migliore di
Microsoft Visual J++ versione 6.0
Grazie
Andrea

Microsoft Visual J++ versione 6.0
Dipende cosa ci devi fare (e quanta fretta hai).  Se é solo per
programmare per Windows 95/98/NT, VJ++ 6.0 ha parecchi
vantaggi -- riassumendo, é molto ben integrato al sistema! --
e un possibile svantaggio: non ha un compilatore in codice nativo
(puó sí produrre una EXE, ma é solo bytecode impacchettato
graziosamente).  Ambienti visuali con capacitá di generare
codice nativo per Windows: Visual Cafe della Symantec, e
Supercede -- ho usato solo quest'ultimo, e solo nella ottima
versione gratuita che il compilatore nativo non ce l'ha, ma, per
quel che sento dire in giro: Symantec é molto diffuso ma i suoi
utenti di solito hanno mille lamentele, Supercede meno diffuso
ma i suoi utenti me ne paiono assai contenti.  C'é anche un
compilatore-a-codice nativo fatto dalla IBM, che uno potrebbe
girare separatamente a cose fatte, cioé fuori dall'ambiente
integrato dopo aver finito lo sviluppo -- ma comunque supporta
solo il Java standard, non le estensioni Microsoft, quindi non é
comunque particolarmente adatto a integrarsi con VJ++ 6.
Personalmente uso piú VJ++6 che non altri ambienti -- programmo
solo per Win32 (oggi), VJ++6 mi piace molto, e del codice nativo mi
interessa il giusto perché i (pochissimi, eventuali) componenti le
cui prestazioni sono critiche per il sistema li scrivo in C++.  Ma é
una combinazione di fattori abbastanza particolare, e devi esaminare
bene se si applica anche nel tuo caso.
Se ti interessa la portabilitá fuori da Win32, evita ovviamente VJ++6,
ma anche (meno ovvio) Symantec, perché i loro componenti di
accesso al database non usano lo standard JDBC (portabile)
bensí il proprietario DbAnywhere Symantec, che a sua volta gira
solo su Win32...!  Se vuoi comunque potere fare EXE nativi dal
tuoi ambiente di sviluppo (solo per Win32, ovvio), o se ti interessa
l'integrazione con C++, o un debugger particolarmente avanzato,
probabilmente Supercede é la tua unica scelta.  Se queste invece
sono considerazioni che non ti interessano, il campo si allarga.
Visual Age for Java della IBM (beta gratuitamente scaricabile, ma
attento, é GROSSA!) é insolito perché tiene i tuoi sorgenti in un suo
database, non in normali file di testo, ma se ti fidi e riesci a prenderci
l'abitudine questo gli dá anche dei vantaggi.
JBuilder della Borland ha un discreto ambiente RAD, secondo me
non all'altezza di Supercede, VAJ IBM, o VJ++ (Visual Cafe non l'ho
provato), ma presumibilmente piú familiare se vieni da Delphi o da
C++Builder.
Ho anche sentito parlare bene, ma non le ho provate, delle offerte
di Powersoft; e di un ambiente chiamato Kawa, che si appoggia sui
JDK della Sun (una garanzia di portabilitá!) e aggiunge solo la
integrazione grafica/visuale.  Ho invece solo sentito parlare male
degli IDE della Sun (mentre il loro ambiente non-grafico, non-IDE,
cioé il JDK, é ovviamente il punto di riferimento per tutti gli altri).  Ma
qui si va sul "sentito dire"...
Personalmente, se dovessi prendere in considerazione l'integrazione
con C++ o la generazione di EXE, sceglierei Supercede; se il punto
chiave fosse la portabilitá, proverei Kawa con i JDK Sun, e il gratuito
compilatore IBM "a posteriori", a sviluppo finito; se la portabilitá non
é un problema, l'integrazione nell'ambiente Win32 é importante, E le
prestazioni rese possibili solo dal codice nativo non indispensabili,
allora propenderei per VJ++6 (il WFC é un framework interessante,
ma il punto-chiave per me sarebbero [sono] le ottime possibilitá di
integrazione Java con il mondo COM, ActiveX, Direct/X, e mille altre
DLL e pezzetti di codice nativo, che VJ++6 facilita molto rispetto a
tutti gli altri ambienti qui elencati).
Alex

Grazie mille.
Andrea