|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Mar 2007
Messaggi: 26
|
scambio dati tra classi java
ciao,
sto cercando 2 classi (in 2 file differenti) che si scambiano dei dati (interi). c'è qualche script? grazie ciao roby |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Puoi descrivere meglio la questione? Non è che si capisca molto....
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#3 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() faccio un esempio ![]() classe 1: Codice:
class Class1 {
private int i;
private Class2 class2;
private void pass() {
class2.pass(i);
}
}
Codice:
class Class2 {
public void pass(int passedValue) {
System.out.println("I\'m happy cause I got my value: " + passedValue);
}
}
|
|
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
|
|
|
|
|
|
#5 | |
|
Junior Member
Iscritto dal: Mar 2007
Messaggi: 26
|
Quote:
ho 2 file (pseudocodice): nel primo c'è la classe public class primoprogramma ( a=10; stampa b; ) nel secondo public class secondoprogramma ( stampa a b=b+1; ) voglio che il secondo programma stampi a e il primo b.. passandosi le variabili. è possibile una cosa del genere.. o devo per forza avere tutte e 2 le classi nello stesso file e fare il passaggio di parametri tutto all'interno di uno stesso programma? grazie r. 71104 ha capito, intanto provo a fare come mi ha suggerito.. raga abbiate pazienza sto iniziando a programmare con java.. Ultima modifica di atmp90 : 10-08-2007 alle 13:13. |
|
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
nessuno ti obbliga a considerare ciascuna classe un programma separato: se i due files .java stanno nello stesso package e i due files .class stanno nella stessa cartella possono interagire tra di loro chiamandosi a vicenda nel contesto dello stesso processo. se invece i due files .java stanno in packages separati basta che usi import, l'importante è che la configurazione delle cartelle e dei files .class a runtime rispecchi quella dei files .java nei packages.
|
|
|
|
|
|
#7 | |
|
Junior Member
Iscritto dal: Mar 2007
Messaggi: 26
|
Quote:
sono io che volutamente volevo provare le classi in 2 file separati: class2.java compilato ok! ma x class1 mi da un errore in compilazione: class1.java:3:cannot resolve symbol symbol: class Class2 location: class Class1 private Class2 class2; ^ 1 error che è??? Ultima modifica di atmp90 : 10-08-2007 alle 16:34. |
|
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
puoi riportare i due sorgenti?
|
|
|
|
|
|
#9 |
|
Junior Member
Iscritto dal: Mar 2007
Messaggi: 26
|
|
|
|
|
|
|
#10 |
|
Registered User
Iscritto dal: Jun 2006
Città: Tuttoporto (Sicily) Tipologia: Giocatore-samurai
Messaggi: 2199
|
I nomi delle classi (e dei .class) devono essere maiuscoli.
Il file .class generato dalla prima compilazione andata a buon fine è nella stessa cartella? Ultima modifica di naoto84 : 10-08-2007 alle 16:44. |
|
|
|
|
|
#11 | |
|
Junior Member
Iscritto dal: Mar 2007
Messaggi: 26
|
Quote:
sia che sono maiuscoli che minuscoli alla fine ho sempre lo stesso problema.. cmq per sicurezza i sorgenti e i .class che avevo prima li ho cancellati e ho riprovato con sorgenti con la prima lettera maiuscola, ma di fatto lui genera solo il Class2.class. x il Class1.java non viene generato il .class (sto lavorando nella dir \bin) Quindi c'è qualche problema nel codice del primo ( a meno che bisogna settare qualche variabile d'ambiente .. io quelle non le ho mai toccate.. perchè ho preferito sempre lavorare sotto /bin). |
|
|
|
|
|
|
#12 | |
|
Registered User
Iscritto dal: Jun 2006
Città: Tuttoporto (Sicily) Tipologia: Giocatore-samurai
Messaggi: 2199
|
Quote:
Sei sotto bin, quindi hai visibile tutto quello che ti serve. Anche con il CLASSPATH non dovresti avere nessun problema... visto che stai lavorando nella stessa cartella. Intanto piazza questa riga in cima al file Class1.java Codice:
import Class2; |
|
|
|
|
|
|
#13 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
@atmp90: usi il compilatore da linea di comando o usi un IDE? penso sia la prima. comunque prova a compilare i due files contemporaneamente:
Codice:
javac Class1.java Class2.java |
|
|
|
|
|
#14 | |
|
Junior Member
Iscritto dal: Mar 2007
Messaggi: 26
|
Quote:
ho fatto poi come mi hai detto: aggiunto import e compilato Class2.java e poi Class1.java su Class1 non c'è l'errore di prima ma un altro: Class1.java:1: '.' expected import Class2; ^ 1 error (la ^ cade sotto il ; ) |
|
|
|
|
|
|
#15 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
per forza, mica puoi importare una classe così, direttamente. le classi si importano solo quando fanno parte di un altro package, quindi il compilatore ha creduto che "Class2" fosse il nome di un package e dopo di esso si aspettava di trovarci un punto e poi il nome di un altro package oppure della classe da importare.
hai provato a compilare i due files contemporaneamente? |
|
|
|
|
|
#16 |
|
Registered User
Iscritto dal: Jun 2006
Città: Tuttoporto (Sicily) Tipologia: Giocatore-samurai
Messaggi: 2199
|
Come non detto, ricordavo male. L'import si usa solo per importare da packages, era una mia forzatura
Se l'errore di prima non c'è più (e la compilazione non si è interrotta a causa di questo errore sull'import) allora era una questione di ordine di compilazione. Se invece non funziona nemmeno ora non mi viene in mente nient'altro. Sono abituato a lavorare con ambienti di sviluppo e devo dire che hanno contribuito a farmi dimenticare un po' di cose. |
|
|
|
|
|
#17 |
|
Registered User
Iscritto dal: Jun 2006
Città: Tuttoporto (Sicily) Tipologia: Giocatore-samurai
Messaggi: 2199
|
|
|
|
|
|
|
#18 | |
|
Junior Member
Iscritto dal: Mar 2007
Messaggi: 26
|
Quote:
avevi ragione! da compilare contemporaneamente! bene!.. mi ha creato i 2 file .class sto usando ..linea di comando. ora per eseguirli..?.. ho provato prima Class1 e poi Class2 .. e viceversa ma mi da, per entrambi, questo errore (quindi siamo in esecuzione): Exception in thread "main" java.lang.NoSuchMethodError: main nota: sto usando il comando java -classpath . Class1 (o Class2) .. perchè ho avuto nei miei primi programmi dei problemi e ho letto in internet che potevo risolverli così mo'.. come faccio a risolvere quella eccezione?.. non è che devo eseguirli contemporaneamente?.. se sì con quale comando? x naoto84: tranquillo, no problem.. capita.. sopratutto se facessero le cose + semplici e + immediate sarebbe + facile. |
|
|
|
|
|
|
#19 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
Codice:
class Class1 {
private int i;
private Class2 class2;
public static void main(String[] args) {
i = 12345;
class2 = new Class2();
pass();
}
private void pass() {
class2.pass(i);
}
}
|
|
|
|
|
|
|
#20 | |
|
Member
Iscritto dal: Dec 2001
Città: Cernobbio -Co-
Messaggi: 47
|
Quote:
Le due classi seguenti compilano e vengono eseguite correttamente: Codice:
public class a {
public static void main(String[] args) {
System.out.println("Ciao");
}
}
Codice:
public class _ {
public static void main(String[] args) {
System.out.println("Ciao");
}
}
__________________
micheledellatorre.net |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:02.





















