PDA

Visualizza la versione completa : Java: caricare la classe


tato83
28-03-2003, 21:11
Scusate la mia ignoranza: ma se io creo una classe con dei metodi in un file e poi creo un altro file che utilizza metodi di quella classe come faccio a fare in modo che il mio programma carichi la classe che ho creato inizialmente??

per far capire meglio...IO ho creato questa classe:

import java.io.*;

class InteractiveIO {
public InteractiveIO(){}

public void write(String w){
System.out.println(w);
System.out.flush();
}

public String readString(String k) throws Exception{
System.out.println(k);
System.out.flush();
InputStreamReader text=new InputStreamReader(System.in);
BufferedReader tex1=new BufferedReader(text);
String line;
line=tex1.readLine();
return line;}

}

e la ho richiamata da questo file:

import java.io.*;

class provaio {
public static void main (String [] arg) throws Exception{
InteractiveIO io=new InteractiveIO();
io.write("Ciao belli");
}}



MA QUANDO INSERISCO TUTTO IL CODICE IN UN SOLO FILE IL PROGRAMMA FUNZIONA, QUANDO INVECE FACCIO DUE FILE SEPARATI MI DA UN ERRORE NELLA RIGA 5 DEL FILE CHIAMANTE.
SONO ALLE PRIME ARMI CON JAVA E SCUSATEMI SE QUESTA POTREBBE SEMBRARVI UNA BANALITA'.......GRAZIE MILLE

Zalex
28-03-2003, 22:23
ma quando ti da errore?in fase di compilazione o a run time?

cmq il file deve avere lo stesso nome della classe!!
la classe puoi metterla public


ciao fammi sapere

Zero-2
29-03-2003, 08:47
Il codice funziona perfettamente .
Ricordati di controllare che il nome del file e il nome della classe siano uguali , anche le maiuscole e le minuscole contano.
Dato che non usi package i due file devono trovarsi nella stessa directory.

Devi compilare prima il file InteractiveIO.java e poi provaio.java

Ciauz:ciauz:

tato83
29-03-2003, 10:30
mi da un errore in fase di compilazione del file provaio.java


provaio.java:5: cannot resolve symbol
symbol: class InteractiveIO
location: class provaio
InteractiveIO io=new InteractiveIO();

provaio.java:5: cannot resolve symbol
symbol: class InteractiveIO
location: class provaio
InteractiveIO io=new InteractiveIO();

2 errors

nel primo errore mi evidenzia il primo InteractiveIO e nel seconod errore il secondo InteractiveIO della riga.

vi chiedo troppo se vi chiedo di mandarmi i file compilati e gli originali per vedere dove ho sbagliato?Scusatemi ma ci sto sbattebdo la testa da giorni.....grazie

tato83
29-03-2003, 10:31
la mia mail anton1983@libero.it

Zalex
29-03-2003, 14:40
Originariamente inviato da Zero-2
Devi compilare prima il file InteractiveIO.java e poi provaio.java

Ciauz:ciauz:

basta compilare solo provaio.java....il resto lo fara' il compilatore:D

Zalex
29-03-2003, 15:00
ma scusa hai provato a fare come ti e' stato detto sopra?

nel file provaio.java metti solo la classe public class provaio{...}

nel file interactiveIO.java metti solo la classe public class interactiveIO{.....}

poi compili provaio.java: javac provaio.java

se i due file sono nella stessa directory non c'e' motivo per cui non compili....a meno che non hai settato giusto il CLASSPATH

tato83
29-03-2003, 19:00
ho fatto come mi avete detto,ma mi da quei due errori.....

Zero-2
29-03-2003, 19:06
Allora
-i file ,dato che non usi package , devono essere nella stessa directory.
- javac InteractiveIO.java
- javac provaio.java
- java provaio
(per lanciare il javac e il java posizionati nella directory in cui si trovano i file)

Se non va non so che fare:(
Ma la classe InteractiveIO la compila tranquillamente??

Il CLASSPATH dovrebbe essere del tipo CLASSPATH=.;(E poi tutto il resto)

tato83
29-03-2003, 19:28
quando compilo la classe InteractiveIO non mi da prob, ma quando compilo provaio.java mi da quei due errori....Cmq grazie!!!

Loading