|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
|
[JAVA] piccolo aiuto
Salve, ho bisogno di un piccolo aiuto per capire come mai questo semplicissimo programma non funziona. Allora ho 3 classi: Conto, Cliente e TestBanca. Ecco le loro implementazioni:
-------------------------------------- Nella classe conto: package banca; public class Conto { private double saldo; public Conto (double x){ saldo = x; } public double getSaldo(){ return saldo; } } ------------------------------------------ Nella classe Cliente: package banca; public class Cliente { private String nome; private String cognome; private Conto contox; public Cliente(String a, String b){ nome = a; cognome = b; } public void setConto(Conto x){ Conto contox = x; System.out.println("il conto è : " + contox.getSaldo()); } public Conto getConto(){ return contox; } } --------------------------------------------- Nella classe TestBanca: package banca; public class TestBanca { public static void main(String[] args) { Conto conto; Cliente cliente; // Crea un conto con saldo 500.00 System.out.println("Creazione del cliente Mario Rossi"); cliente = new Cliente("Mario", "Rossi"); System.out.println("Creazione del suo conto con un saldo di 500.00"); cliente.setConto(new Conto(500.00)); conto = cliente.getConto(); System.out.println("il conto è : " + conto.getSaldo()); } } L'eerore è nell'istruzione in grassetto...ma non ne capisco il motivo, visto che gli passo correttamente un oggetto conto. grazie per l'aiuto
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Codice:
package banca;
public class Cliente {
private String nome;
private String cognome;
private Conto contox;
public Cliente(String a, String b){
nome = a;
cognome = b;
}
public void setConto(Conto x){
//Conto contox = x;
contox = x;
System.out.println("il conto è : " + contox.getSaldo());
}
public Conto getConto(){
return contox;
}
}
Nel metodo setConto di Cliente se scrivi: Conto contox = x; dichiari una nuova variabile locale che, incidentalmente, ha lo stesso nome del campo che vorresti impostare. Pur avendo lo stesso nome è considerata una variabile diversa dal campo contox dunque l'assegnamento a questa diversa variabile non ha alcun effetto sull'altra. Se togli la dichiarazione Conto contox = e usi semplicemente il nome contox = allora quel "contox" è interpretato come "il campo contox di Cliente". Ed è quello che volevi.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! Ultima modifica di PGI-Bis : 27-04-2007 alle 14:36. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
|
giustissimo...ora funziona...
grazi 1000 anche per la rapida risposta
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:44.



















