Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
POCO F9 Pro arriva sul mercato con l'obiettivo di portare prestazioni da smartphone top di gamma in una fascia di prezzo "più aggressiva", senza rinunciare a un comparto fotografico finalmente all'altezza. Dopo averlo testato sul campo, emerge uno smartphone molto più completo rispetto alla generazione precedente, ma anche con alcuni piccoli compromessi che diventano difficili da ignorare quando il prezzo di listino sfiora i 1.000 euro.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-05-2008, 19:55   #1
superjack81
Member
 
Iscritto dal: Jan 2006
Messaggi: 83
[Java] Passaggio variabili

Salve,premmetto che sono alle prime armi con Java,volevo sapere se è possibile passare una variabile definita all'interno di un main di una classe ad un metodo di un'altra classe per poterne utilizzare il valore?
Il ragionamento è un pò contorto ma spero si capisca...grazie...
superjack81 è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2008, 20:28   #2
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da superjack81 Guarda i messaggi
Salve,premmetto che sono alle prime armi con Java,volevo sapere se è possibile passare una variabile definita all'interno di un main di una classe ad un metodo di un'altra classe per poterne utilizzare il valore?
Il ragionamento è un pò contorto ma spero si capisca...grazie...
veramente non si capisce mica tanto,comunque in generale dal main puoi passare variabili a qualsiasi metodo,non capisco il tuo dubbio
__________________
Khelidan
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 07:55   #3
superjack81
Member
 
Iscritto dal: Jan 2006
Messaggi: 83
Allora provo a spiegare meglio,questa è la mia situazione:

-Possiedo una classe che ha al suo interno possiede solo un metodo main():

public class Classe1{

public static void main(String[] args) {

/*qui faccio varie operazioni che mi portano a memorizzare una certa stringa nella variabile utente*/

String utente="stringa memorizzata nella variabile";

}
}

-Adesso posseggo un'altra classe che ha un metodo su cui dovrei usare il valore memorizzato nella variabile utente di prima.Posso importare tale valore in questa nuova classe??Allora:

public class Classe2{

//costruttore
public Classe2(){......}

//metodo che deve usare il valore della variabile utente
public void metodo1{

utente //mi serve il valore memorizato nel main() di Classe1.Vorrei che utente possegga quel valore.

}

}


Adesso si capisce??

Ultima modifica di superjack81 : 24-05-2008 alle 07:57.
superjack81 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 09:01   #4
alphacygni
Senior Member
 
L'Avatar di alphacygni
 
Iscritto dal: Mar 2002
Città: Roma - Milano - Lagos
Messaggi: 8579
Quote:
Originariamente inviato da superjack81 Guarda i messaggi
Salve,premmetto che sono alle prime armi con Java,volevo sapere se è possibile passare una variabile definita all'interno di un main di una classe ad un metodo di un'altra classe per poterne utilizzare il valore?
Il ragionamento è un pò contorto ma spero si capisca...grazie...
Beh, dipende da cosa intendi:

- se vuoi prendere direttamente dal "secondo metodo" il valore, la risposta e' no, non si puo' fare, perche', piu' in generale (nel senso che non dipende dal fatto che sia nel caso specifico un main) non puoi accedere al valore di una variabile locale, cioe' contenuta all'interno di un metodo... se devi fare cio', e' necessario che tu memorizzi il valore in una variabile di istanza, dichiarata pubblica

- se invece, e mi pare sicuramente la soluzione piu' pulita, vuoi che un metodo di un'altra classe riceva il dato di cui sopra, semplicemente dovresti istanziare un'oggetto di quel tipo (classe 2), ed invocare opportunamente un metodo che richieda come parametro in ingresso una stringa (o quello che ti pare, ma mi pare di aver capito che nel caso specifico si tratti una stringa) che sara' proprio quella che intendi passare... a quel punto il valore potra' essere gestito da quel metodo, e tu potrai farci quello che ti pare, passarlo ad altri metodi della classe stessa nello stesso modo, metterlo in una variabile di istanza ecc. ecc.

- ultima possibilita', anche se in generale la sconsiglierei, e' quella di mettere come argomento del costruttore della seconda classe un parametro di quel tipo, in questo modo quando dal main istanzierai l'oggetto questo sara' immediatamente visibile nel costruttore della classe 2, tenendo pero' sempre a mente che si tratta di una variabile locale di quel metodo e che quindi se poi vuoi che altri metodi di classe 2 vi accedano, dovrai comunque memorizzare il valore stesso in una variabile globale
__________________
--- --- VENDO AppleCare per Macbook Pro 15"/17" a 200E --- ---
Ho trattato con mezzo forum, per l'altra meta' mi sto attrezzando... tutto ok, tranne con quel diversamente onesto di drwebby
Perditempo di professione: signirr

Ultima modifica di alphacygni : 24-05-2008 alle 09:07.
alphacygni è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 09:52   #5
superjack81
Member
 
Iscritto dal: Jan 2006
Messaggi: 83
beh nel mio caso forse è proprio la prima possibilità che mi serviva...!!
Praticamante dovrei utilizzare il valore di una variabile locale creata dentro un main() di Classe1 e utilizzare questo valore dentro un metodo di un'altra classe(Classe2)......
Fino ad ora non sono ancora riuscito a risolvere il problema...cmq grazie!!
superjack81 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 09:58   #6
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da superjack81 Guarda i messaggi
beh nel mio caso forse è proprio la prima possibilità che mi serviva...!!
Praticamante dovrei utilizzare il valore di una variabile locale creata dentro un main() di Classe1 e utilizzare questo valore dentro un metodo di un'altra classe(Classe2)......
Fino ad ora non sono ancora riuscito a risolvere il problema...cmq grazie!!
Codice:
public class Classe1{

public static void main(String[] args) {

/*qui faccio varie operazioni che mi portano a memorizzare una certa stringa nella variabile utente*/

String utente="stringa memorizzata nella variabile";

Classe2 classe2 = new Classe2();

classe2.metodo1(utente);

}


}

class Classe2{

private utente;
//costruttore
public Classe2(){......}

//metodo che deve usare il valore della variabile utente
public void metodo1()String variabile){

utente = variabile;
//mi serve il valore memorizato nel main() di Classe1.Vorrei che utente possegga quel valore.

}

}
E questo quello che vuoi fare?Perchè ancora sono dubbioso
__________________
Khelidan
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 10:10   #7
superjack81
Member
 
Iscritto dal: Jan 2006
Messaggi: 83
Quote:
Originariamente inviato da khelidan1980 Guarda i messaggi





E questo quello che vuoi fare?Perchè ancora sono dubbioso
dovrebbe essere così...ora provo e ti faccio sapere,grazie
superjack81 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 10:39   #8
superjack81
Member
 
Iscritto dal: Jan 2006
Messaggi: 83
Quote:
Originariamente inviato da khelidan1980 Guarda i messaggi
Codice:
public class Classe1{

public static void main(String[] args) {

/*qui faccio varie operazioni che mi portano a memorizzare una certa stringa nella variabile utente*/

String utente1="stringa memorizzata nella variabile";

Classe2 classe2 = new Classe2();

classe2.metodo1(utente);

}


}

class Classe2{

private utente;
//costruttore
public Classe2(){......}

//metodo che deve usare il valore della variabile utente
public void metodo1()String variabile){

utente2 = variabile;
//mi serve il valore memorizato nel main() di Classe1.Vorrei che utente possegga quel valore.

}

}

Allora non mi funziona....
Praticamente dentro metodo1() voglio che il valore della variabile utente2 sia lo stesso valore della variabile utente1.Capito adesso???
superjack81 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 10:42   #9
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
Puoi spiegare meglio il tuo problema?
Vuoi che metodo1 abbia come parametro una stringa o vuoi che metodo1 modifichi la stringa dell'altra classe?
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 10:50   #10
superjack81
Member
 
Iscritto dal: Jan 2006
Messaggi: 83
Quote:
Originariamente inviato da wisher Guarda i messaggi
Puoi spiegare meglio il tuo problema?
Vuoi che metodo1 abbia come parametro una stringa o vuoi che metodo1 modifichi la stringa dell'altra classe?
Io voglio solo che dentro metodo1 la variabile utente2 erediti il valore della variabile utente1....poi tutto l'altro non mi importa voglio solo ottenere quel risultato.....
superjack81 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 10:54   #11
superjack81
Member
 
Iscritto dal: Jan 2006
Messaggi: 83
Questo è il punto di parenza......


public class Classe1{

public static void main(String[] args) {

/*qui faccio varie operazioni che mi portano a memorizzare una certa stringa nella variabile utente*/

String utente1="stringa memorizzata nella variabile";


}


}


public class Classe2{



//metodo che deve usare il valore della variabile utente
public void metodo1(){

String utente2 = valore;
//vorrei che utente2 erediti il valore memorizzato in utente1 di Classe1
}

}

Chiaro.....???

Ultima modifica di superjack81 : 24-05-2008 alle 10:57.
superjack81 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 10:56   #12
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
allora dovrebbe andare bene il metodo proposto da khelidan1980
All'interno del main crea
String utente1="asdfghhjl" //creo la stringa
Classe2 c2 = new Classe2()
c2.metodo1(utente1)


In questo modo dovrebbe andare, ovviamente definendo in c2 il metodo metodo1(String utente)
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 11:01   #13
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da superjack81 Guarda i messaggi
Io voglio solo che dentro metodo1 la variabile utente2 erediti il valore della variabile utente1....poi tutto l'altro non mi importa voglio solo ottenere quel risultato.....
mi sa che hai una confusione pazzesca in testa,cosa vuol dire dentro il metodo?Detta a parole povere i metodi servono ad operare azioni sugli oggetti,metodo1 che hai scritto te non fa una ben niente,semplicemente assegna un valore che non si sa da dove lo prende ad una variabile che una volta lanciato il metodo sarà irrecuperabile
__________________
Khelidan

Ultima modifica di khelidan1980 : 24-05-2008 alle 11:03.
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 11:05   #14
superjack81
Member
 
Iscritto dal: Jan 2006
Messaggi: 83
Quote:
Originariamente inviato da wisher Guarda i messaggi
allora dovrebbe andare bene il metodo proposto da khelidan1980
All'interno del main crea
String utente1="asdfghhjl" //creo la stringa
Classe2 c2 = new Classe2()
c2.metodo1(utente1)


In questo modo dovrebbe andare, ovviamente definendo in c2 il metodo metodo1(String utente)
Il problema però che è dentro metodo1() devo fare anche altre operazioni....quindi non mi va bene che quando lo richiamo nella Classe1 mi esegua tutte queste altre operazioni....
superjack81 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 11:09   #15
superjack81
Member
 
Iscritto dal: Jan 2006
Messaggi: 83
Quote:
Originariamente inviato da khelidan1980 Guarda i messaggi
mi sa che hai una confusione pazzesca in testa,cosa vuol dire dentro il metodo?Detta a parole povere i metodi servono ad operare azioni sugli oggetti,metodo1 che hai scritto te non fa una ben niente,semplicemente assegna un valore che non si sa da dove lo prende ad una variabile che una volta lanciato il metodo sarà irrecuperabile
Infatti,io dentro metodo1 eseguo delle operazioni e mi servirebbe il valore di utente1 che ho ottenuto dentro il main di Classe1 per effettuare altre operazioni.....
superjack81 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 11:11   #16
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
Mi sa che qui non ci stiamo capendo.
Puoi descrivere il tuo problema, non con Java, ma proprio quello che deve fare il tuo programma.
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 11:11   #17
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da superjack81 Guarda i messaggi
Infatti,io dentro metodo1 eseguo delle operazioni e mi servirebbe il valore che ho ottenuto dentro il main di Classe1 per effettuare altre operazioni.....
e cosa non va del codice che ti ho scritto io?
__________________
Khelidan
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 11:19   #18
superjack81
Member
 
Iscritto dal: Jan 2006
Messaggi: 83
Quote:
Originariamente inviato da khelidan1980 Guarda i messaggi
e cosa non va del codice che ti ho scritto io?
Che quanfo faccio classe2.metodo1(utente);

mi vengono eseguite tutte le operazioni che sono dentro metodo1 e qui questo non mi serve....
superjack81 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 11:22   #19
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
Quello che ti interessa è creare un setter?

Crea in classe2 un attributo
private String utente
Per aggiornare questo valore puoi inserirlo al momento della costruzione dell'oggetto così

public Classe2(String utente){
this.utente = utente;
}

oppure con un setter

public void setUtente(String utente){
this.utente = utente;
}
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2008, 11:22   #20
superjack81
Member
 
Iscritto dal: Jan 2006
Messaggi: 83
Cavoli non pensavo fosse così difficile spiegare cosa mi serve...!Certo che se potreste essere qui a vedere e poter parlare a voce sarebbe tutto diverso....Cmq vi ringrazio per il tempo che avete impiegato per me....Grazie
superjack81 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
Il satellite LINK è rientrato nel...
L'ESA risponde alle critiche di Jared Is...
La NASA annuncia il nuovo telescopio spa...
HONOR pubblica The Sea Between Us, un co...
L'Olanda punta su NixOS e open source pe...
OPPO Find X10 Pro Max, il flagship con t...
Gli smartphone Samsung potrebbero avere ...
GeForce Now arriverà sui Googlebo...
Opus 5.5 e GPT-6 Sol nello stesso pomeri...
Weekend Amazon, le prime 5 offerte sono ...
Mini Compressore a 21,84€: gonfia le gom...
Gemini si aggiorna, ora può conne...
Da 32 a 65 pollici: ecco le TV più...
Xiaomi Redmi Note 17 a 269€: ecco perch&...
ASUS avverte i clienti: accesso non auto...
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: 20:34.


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