|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
|
[JAVA] Inserire un contatore nel costruttore per identificare ogni oggetto creato?!?!
Allora ragazzi,
prima di tutto volevo ringraziarvi a tutti, perchè durante questo mio periodo di avvicinamento alla programmazione Java, mi sto appoggiando abbastanza su questo forum. Andiamo al problema: Ho costruito una classe ContoBancario che crea oggetti ti tipo ContoBancario, poi ho costruito un'altra classe che ereditaria di ContoBancario: ContoEsteso (per la creazione di un ContoBancario che avesse un fido, cioè poteva andare in rosso, mentre questo su un normale contobancario non è possibile).. ho messo nel costruttore un contatore, e volevo identificare ogni ContoBancario (Esteso e no) con un numero, basato su un contatore... mi spiego meglio: se è il primo contobancario creato il numero deve essere 1001, il secondo 1002.. 1003.. ecc ecc. Avevo pensato di mettere un contatore nel costruttore, e porre la variabile numero=1000+contatore... ma andiamo al codice: Classe ContoBancario fino al costruttore.. Codice:
package esamepoo.banca;
public class ContoBancario{
private int numconto;
protected double soldi;
private int cnt=0;
public ContoBancario(double soldi){
cnt=++;
this.soldi=soldi;
this.numconto=1000+cnt;
}
Codice:
package esamepoo.banca;
public class ContoEsteso extends ContoBancario{
protected double fido;
public ContoEsteso(double soldi){
super(soldi);
fido=1000;
}
Codice:
import poo.inout.*;
import esamepoo.banca.*;
public class GestioneBanca{
public static void main(String args[]){
double soldi;
final String SI="s";
final String NO="n";
String risp;
int n=Console.readInt("Quanti Conti desideri inserire? ");
ContoBancario clientela[]=new ContoBancario[n];
for(int i=0; i<clientela.length; i++){
System.out.println("Per il conto numero "+i+" vuoi un fido?");
risp=Console.readString("S/N: ");
risp=risp.substring(0,1);
risp=risp.toLowerCase();
if (risp.equals(SI)){
soldi=Console.readDouble("Quanti soldi nel conto (con fido) numero "+i+"?");
clientela[i]=new ContoEsteso(soldi);
}else{
soldi=Console.readDouble("Quanti soldi nel conto (senza fido) numero "+i+"?");
clientela[i]=new ContoBancario(soldi);
}
}
for(int i=0; i<clientela.length; i++)
System.out.println("Il conto numero "+i+" risulta: "+clientela[i]);
}
}
cosa sbaglio? come devo fare per far si che ad ContoBancario creato il contatore aumenti di uno? e quindi il numero di riferimento del conto sia =1000+contatore? Grazie
__________________
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1451
|
Non ho tempo di leggere tutto il codice, ma devi semplicemente dichiarare la tua variabile contatore come static, se non fai cosi' perdi il valore e viene istanziata ogni volta una nuova.
__________________
Ciao ~ZeRO sTrEsS~ |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
|
Quote:
ho dovuto rendere static il contatore però!! perchè rendendo static il numero la situazione non cambiava, perchè nel costruttore avevo cnt++; numero=1000+cnt; rendendo static entrambi avevo in uscite (per esempio per 3 oggetti creati) numero del primo= 1003 numero del secondo= 1003 numero del terzo= 1003 rendendo solo statico il contatore ottengo la cosa giusta!! numero del primo= 1001 numero del secondo= 1002 numero del terzo= 1003 Grazie!!
__________________
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
|
Comunque,
perchè con static non perdo il valore e senza si?? Me le dai due righe di spiegazione please!!
__________________
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1451
|
Quote:
Spero di esser stato chiaro
__________________
Ciao ~ZeRO sTrEsS~ |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
|
Chiarissimo e Gentilissimo
![]() Grazie
__________________
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2004
Messaggi: 752
|
Razionale, ContoBancario, ContoEsteso...
Ho già visto queste classi in qualche testo di programmazione, ma dove? In quale università studi?
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
|
Unical.. università della calabria cosenza
__________________
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Oct 2004
Messaggi: 752
|
Prof. Nigro.
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
|
YES
__________________
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:04.












In quale università studi?








