Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
be quiet! debutta nel settore mouse da gaming con Dark Perk Ergo e Dark Perk Sym: due modelli gemelli per specifiche, con polling rate di 8.000 Hz anche in wireless, sensore PixArt PAW3950 da 32.000 DPI e autonomia dichiarata fino a 110 ore. Nel test, a 8.000 Hz si arriva a circa 30 ore reali, con ricarica completa in un'ora e mezza
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-08-2007, 12:27   #1
atmp90
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
atmp90 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 12:54   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da atmp90 Guarda i messaggi
sto cercando 2 classi (in 2 file differenti) che si scambiano dei dati (interi).
c'è qualche script?
Puoi descrivere meglio la questione? Non è che si capisca molto....
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 13:04   #3
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da atmp90 Guarda i messaggi
ciao,
sto cercando 2 classi (in 2 file differenti) che si scambiano dei dati (interi).
gliegli passi così come sono?
faccio un esempio

classe 1:
Codice:
class Class1 {
	private int i;
	private Class2 class2;

	private void pass() {
		class2.pass(i);
	}

}
classe 2 (in un altro file):
Codice:
class Class2 {
	public void pass(int passedValue) {
		System.out.println("I\'m happy cause I got my value: " + passedValue);
	}

}
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 13:05   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da atmp90 Guarda i messaggi
c'è qualche script?
script...?
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 13:07   #5
atmp90
Junior Member
 
Iscritto dal: Mar 2007
Messaggi: 26
Quote:
Originariamente inviato da andbin Guarda i messaggi
Puoi descrivere meglio la questione? Non è che si capisca molto....

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.
atmp90 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 13:21   #6
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da atmp90 Guarda i messaggi
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?
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.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 13:53   #7
atmp90
Junior Member
 
Iscritto dal: Mar 2007
Messaggi: 26
Quote:
Originariamente inviato da 71104 Guarda i messaggi
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.
aldilà dei package che non conosco..
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.
atmp90 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 16:05   #8
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
puoi riportare i due sorgenti?
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 16:23   #9
atmp90
Junior Member
 
Iscritto dal: Mar 2007
Messaggi: 26
Quote:
Originariamente inviato da 71104 Guarda i messaggi
puoi riportare i due sorgenti?
sono esattamente quelli che hai scritto tu
atmp90 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 16:40   #10
naoto84
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.
naoto84 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 16:55   #11
atmp90
Junior Member
 
Iscritto dal: Mar 2007
Messaggi: 26
Quote:
Originariamente inviato da naoto84 Guarda i messaggi
I nomi delle classi (e dei .class) devono essere maiuscoli.
Il file .class generato dalla prima compilazione andata a buon fine è nella stessa cartella?

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).
atmp90 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 17:07   #12
naoto84
Registered User
 
Iscritto dal: Jun 2006
Città: Tuttoporto (Sicily) Tipologia: Giocatore-samurai
Messaggi: 2199
Quote:
Originariamente inviato da atmp90 Guarda i messaggi
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).
I nomi delle classi devono essere maiuscoli, in teoria una classe con un nome minuscolo dovrebbe costituire un errore di sintassi a tutti gli effetti.
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;
E poi: in che ordini le compili? Dovresti compilare prima Class2.java e dopo Class1.java... anche se ad essere sincero non mi ricordo se il compilatore se li sbrighi da solo questi problemi.
naoto84 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 17:31   #13
71104
Bannato
 
L'Avatar di 71104
 
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
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 17:41   #14
atmp90
Junior Member
 
Iscritto dal: Mar 2007
Messaggi: 26
Quote:
Originariamente inviato da naoto84 Guarda i messaggi
I nomi delle classi devono essere maiuscoli, in teoria una classe con un nome minuscolo dovrebbe costituire un errore di sintassi a tutti gli effetti.
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;
E poi: in che ordini le compili? Dovresti compilare prima Class2.java e dopo Class1.java... anche se ad essere sincero non mi ricordo se il compilatore se li sbrighi da solo questi problemi.
(per il discorso delle maiuscole e minuscole la penso come te.. ma prima non mi dava errore.. non so perchè)

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 ; )
atmp90 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 17:59   #15
71104
Bannato
 
L'Avatar di 71104
 
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?
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 18:03   #16
naoto84
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 . Toglilo pure.

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.
naoto84 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 18:04   #17
naoto84
Registered User
 
Iscritto dal: Jun 2006
Città: Tuttoporto (Sicily) Tipologia: Giocatore-samurai
Messaggi: 2199
Quote:
Originariamente inviato da 71104 Guarda i messaggi
...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.
Esatto... me ne sono reso conto dall'errore. Chiedo perdono.
naoto84 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 18:29   #18
atmp90
Junior Member
 
Iscritto dal: Mar 2007
Messaggi: 26
Quote:
Originariamente inviato da 71104 Guarda i messaggi
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?


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.
atmp90 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 18:39   #19
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da atmp90 Guarda i messaggi
mo'.. come faccio a risolvere quella eccezione?.. non è che devo eseguirli contemporaneamente?.. se sì con quale comando?
il codice che avevo scritto prima non era un vero programma Java che potesse essere eseguito, era solo un esempio. ci manca il metodo main, ed inoltre non ho inizializzato ne' la variabile i ne' l'oggetto class2 all'interno di Class1. per farlo diventare un programma accettabile (oltre che sintatticamente corretto) cambia Class1.java nel seguente modo:
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);
	}

}
poi ricompila e fallo andare, dovrebbe stamparti il messaggio scritto in Class2.java.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2007, 18:43   #20
U-Boat
Member
 
Iscritto dal: Dec 2001
Città: Cernobbio -Co-
Messaggi: 47
Quote:
Originariamente inviato da naoto84 Guarda i messaggi
I nomi delle classi devono essere maiuscoli, in teoria una classe con un nome minuscolo dovrebbe costituire un errore di sintassi a tutti gli effetti.
I nomi delle classi sguono le normali regole degli identificatori definiti dalla grammatica di Java, quindi possono essere tranquillamente tutti minuscoli o composti da caratteri come _

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");
	}
}
Sono le code conventions di Java, indicate dalla Sun stessa, che prescrivono l'uso della prima lettera maiuscola e le iniziali delle parole seguenti (Pascal case) per i nomi delle classi e delle interfacce
__________________
micheledellatorre.net
U-Boat è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Con l'Event Horizon Telescope si sta stu...
Milano Cortina 2026, dietro le quinte de...
IA e automazione: le armi per industrial...
SpaceX sta per rimuovere il braccio di a...
Sony a ISE 2026: display, soluzioni imme...
Sony punta sull'IA: brevettati i podcast...
Logitech G Astro A50, le cuffie gaming d...
Lenovo a ISE 2026: smart collaboration, ...
GeForce RTX 5000 SUPER cancellate e RTX ...
Substack conferma violazione: esposti da...
L'IA costa caro. Oracle punta a raccogli...
OpenAI lancia Frontier: il cervello cent...
Questo robot aspirapolvere lava sempre c...
Il PC non si avvia? ASRock invita a cont...
8 smartphone Android in forte sconto su ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v