luxorl
07-01-2005, 11:08
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..
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;
}
Classe ContoEsteso fino al costruttore...
package esamepoo.banca;
public class ContoEsteso extends ContoBancario{
protected double fido;
public ContoEsteso(double soldi){
super(soldi);
fido=1000;
}
Poi ho costruito un piccolo main per la gestione di più ContiBancari, che basato su un array clientela[] aprisse più conti (quanti ne vuole l'utente) o estesi o no! (sempre a scelta dell'utente).. ecco il 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]);
}
}
il mio problema sta nel fatto.. che i conti escono tutti col numero 1001... come se il contatore non aumentasse..
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 :)
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..
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;
}
Classe ContoEsteso fino al costruttore...
package esamepoo.banca;
public class ContoEsteso extends ContoBancario{
protected double fido;
public ContoEsteso(double soldi){
super(soldi);
fido=1000;
}
Poi ho costruito un piccolo main per la gestione di più ContiBancari, che basato su un array clientela[] aprisse più conti (quanti ne vuole l'utente) o estesi o no! (sempre a scelta dell'utente).. ecco il 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]);
}
}
il mio problema sta nel fatto.. che i conti escono tutti col numero 1001... come se il contatore non aumentasse..
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 :)