Pagina 1 di 1

(Risolto) (Java) errore in fase di compilazione

Inviato: venerdì 28 settembre 2007, 10:19
da preben
Ho scritto la seguente classe per esercizio:

Codice: Seleziona tutto

public class DemoStatic {

    private int number;

    // DemoStatic(): costruttore predefinito
    public DemoStatic(int n) {
	number = n;
    }

    // print1(): metodo di classe
    static void print1(DemoStatic v) {
	System.out.println(v.number);
    }

    // print2(): metodo di istanza
    void print2() {
	System.out.println(number);
    }
}
Durante la compilazione non ci sono errori.

Poi ho scritto quest'altra per utilizzare la precedente:

Codice: Seleziona tutto

public class ProvaDemoStatic {

    // main(): punto di ingresso dell'applicazione
    public static void main(String[] args) {

	DemoStatic s = new DemoStatic(5);
	DemoStatic t = new DemoStatic(10);

	DemoStatic.print1(t);
	s.print2();
    }
}
Al momento della compilazione mi dà il seguente errore:

Codice: Seleziona tutto

1. ERROR in ProvaDemoStatic.java (at line 10)
        DemoStatic s = new DemoStatic(5);
        ^^^^^^^^^^
DemoStatic cannot be resolved to a type
----------
2. ERROR in ProvaDemoStatic.java (at line 10)
        DemoStatic s = new DemoStatic(5);
                           ^^^^^^^^^^
DemoStatic cannot be resolved to a type
----------
3. ERROR in ProvaDemoStatic.java (at line 11)
        DemoStatic t = new DemoStatic(10);
        ^^^^^^^^^^
DemoStatic cannot be resolved to a type
----------
4. ERROR in ProvaDemoStatic.java (at line 11)
        DemoStatic t = new DemoStatic(10);
                           ^^^^^^^^^^
DemoStatic cannot be resolved to a type
----------
5. ERROR in ProvaDemoStatic.java (at line 13)
        DemoStatic.print1(t);
        ^^^^^^^^^^
DemoStatic cannot be resolved
Vorrei sapere, per piacere cosa c'è che di sbagliato.

Ciao e grazie!

Re: (Java) errore in fase di compilazione

Inviato: venerdì 28 settembre 2007, 10:27
da Arcovoltaico77
le due classi fanno parte dello stesso package?

nella seconda hai messo l' import della prima?

Re: (Java) errore in fase di compilazione

Inviato: venerdì 28 settembre 2007, 10:33
da preben
Sono entrambe nella stessa cartella.
Non ho messo l'import della prima, perchè credo non serva, dal momento che sono sulla stessa cartella.
Hai qualche idea?

Ciao e grazie!

Re: (Java) errore in fase di compilazione

Inviato: venerdì 28 settembre 2007, 10:51
da Massimo S.
belin, se sati usando javac, credo che le devi compilare insieme con lo stesso comando per farsi che si vedano a vicenza

Re: (Java) errore in fase di compilazione

Inviato: venerdì 28 settembre 2007, 11:20
da preben
Ciao Massimo, mi puoi dire come faccio a compilarle con lo stesso comando?
Grazie!

Re: (Java) errore in fase di compilazione

Inviato: venerdì 28 settembre 2007, 12:15
da Bobby
il comando da usare è:

Codice: Seleziona tutto

javac -cp /tuo percorso fino alla cartella con i file.java/ ProvaDemoStatic
il compilatore inizia a compilare la classe main, quando trova il riferimento a DemoStatic si va a cercare la classe nei suoi percorsi compreso quello che gli hai dato.

Re: (Java) errore in fase di compilazione

Inviato: venerdì 28 settembre 2007, 14:28
da Massimo S.
belin ha scritto: Ciao Massimo, mi puoi dire come faccio a compilarle con lo stesso comando?
Grazie!
Credo che basta che metti alla fine del comando tutti i file .java che devi compilare separati da spazi

Oppure per compilare solo ProvaDemoStatic dopo aver compilato DemoStatic puoi dare come dice Robby solo che IMHO è più corretto cosi

Codice: Seleziona tutto

javac -cp /tuo percorso fino alla cartella con i file .class/ ProvaDemoStatic.java
Oppure usa un IDE come Eclipse o NetBeans

Re: (Java) errore in fase di compilazione

Inviato: venerdì 28 settembre 2007, 14:34
da Bobby
Massimo S. ha scritto: Oppure usa un IDE come Eclipse o NetBeans
la soluzione dei pigri come me!!  ;)

Re: (Java) errore in fase di compilazione

Inviato: venerdì 28 settembre 2007, 14:56
da Massimo S.
Bobby ha scritto: la soluzione dei pigri come me!!  ;)
La pigrizia è la principale virtù del programmatore!  ;D

Re: (Java) errore in fase di compilazione

Inviato: venerdì 28 settembre 2007, 15:37
da Bobby
Massimo S. ha scritto:
Bobby ha scritto: la soluzione dei pigri come me!!  ;)
La pigrizia è la principale virtù del programmatore!  ;D
vangelo! non sai che programmi ho scritto pur di ridurre il mio lavoro!  ;)

Re: (Java) errore in fase di compilazione

Inviato: sabato 29 settembre 2007, 19:05
da preben
Ciao ragazzi, intanto vi ringrazio per avermi risposto.
Ho fatto un pò di prove con il comando

Codice: Seleziona tutto

javac -cp /tuo percorso fino alla cartella con i file .class/ ProvaDemoStatic.java
ma mi dà sempre lo stesso errore:

Codice: Seleziona tutto

incorrect classpath: ./DemoStatic.class/
----------
1. ERROR in ProvaDemoStatic.java (at line 10)
        DemoStatic s = new DemoStatic(5);
        ^^^^^^^^^^
DemoStatic cannot be resolved to a type
----------
2. ERROR in ProvaDemoStatic.java (at line 10)
        DemoStatic s = new DemoStatic(5);
                           ^^^^^^^^^^
DemoStatic cannot be resolved to a type
----------
3. ERROR in ProvaDemoStatic.java (at line 11)
        DemoStatic t = new DemoStatic(10);
        ^^^^^^^^^^
DemoStatic cannot be resolved to a type
----------
4. ERROR in ProvaDemoStatic.java (at line 11)
        DemoStatic t = new DemoStatic(10);
                           ^^^^^^^^^^
DemoStatic cannot be resolved to a type
----------
5. ERROR in ProvaDemoStatic.java (at line 13)
        DemoStatic.print1(t);
        ^^^^^^^^^^
DemoStatic cannot be resolved
----------
Se avete qualche altra idea...
Ciao e grazie ancora.

Re: (Java) errore in fase di compilazione

Inviato: domenica 30 settembre 2007, 12:49
da Massimo S.
Dal messaggio

Codice: Seleziona tutto

incorrect classpath: ./DemoStatic.class/
deduco che hai messo come classapath  ./DemoStatic.class/
Non va bene, devi mettere la cartella che contiene i file .class, ad esempio se DemoStatic.class è nella dir corrente metti solo

Codice: Seleziona tutto

javac -cp . ProvaDemoStatic.java

Re: (Java) errore in fase di compilazione

Inviato: domenica 30 settembre 2007, 18:32
da preben
Niente da fare; rimane sempre lo stesso errore.
Il problema può essere legato alle variabi di path (java home e classpath)?

Ciao e grazie!

Re: (Java) errore in fase di compilazione

Inviato: lunedì 1 ottobre 2007, 11:53
da Massimo S.
Facciamo così, posta la esatta struttura delle tue directory e di tutti i file inclusi (non di tutto l'hd, solo della parte relativa al tuo progetto java)
e posta i comandi esatti che dai per compilare.

Forse fai prima se comprimi la cartella in un .zip e l'alleghi

Re: (Risolto) (Java) errore in fase di compilazione

Inviato: lunedì 1 ottobre 2007, 23:27
da preben
Ciao Massimo!
Innanzittutto ti ringrazio per l'aiuto che mi hai dato.
Cmq, stanco di provare e riprovare  >:(, ho riformattato il sistema, istallato java 6 da shell, ed ora compila senza problemi.

Ciao e grazie ancora!

Re: (Risolto) (Java) errore in fase di compilazione

Inviato: martedì 2 ottobre 2007, 11:36
da Massimo S.
Ma  ... forse il javac del java6 è più elastico nella sintassi  :-\

Comunque se devi fare sul serio con java ti consiglio sempre di usare un IDE come Eclipse o NetBeans, oppure se sei un purista della riga di comando usa almeno ANT che è una specie del make del C per java

Re: (Risolto) (Java) errore in fase di compilazione

Inviato: martedì 2 ottobre 2007, 11:46
da Bobby
Massimo S. ha scritto: Ma  ... forse il javac del java6 è più elastico nella sintassi  :-\

Comunque se devi fare sul serio con java ti consiglio sempre di usare un IDE come Eclipse o NetBeans, oppure se sei un purista della riga di comando usa almeno ANT che è una specie del make del C per java
concordo, non è tanto per pigrizia, ma per praticità, efficienza e velocità.

Re: (Risolto) (Java) errore in fase di compilazione

Inviato: venerdì 5 ottobre 2007, 11:45
da preben
Attualmente uso javac perchè non conosco gli altri.
Cmq terrò presente i vostri consigli, e, appena ho un pò di tempo cerco un pò di guide per imparare Eclipse o NetBeans.

Ciao e grazie ancora!