ho fatto esattamente come dicevi tu,ma nulla....sempre 0 mi esce...se vuoi ti metto il nuovo codice,che è identico a quello solo con le due righe cancellate...
ho fatto esattamente come dicevi tu,ma nulla....sempre 0 mi esce...se vuoi ti metto il nuovo codice,che è identico a quello solo con le due righe cancellate...
io ho rinominato invece,ora provo a fare quest'operazione...avevo rinominato quelle due voci anzichè toglierle...SUbito controllo...
La seguente riga del costruttore è sbagliata, ma va corretta, non eliminata (perchè??)
codice:v=new double[this.n];
Tu stai passando al costruttore un valore "n", ma stai dimensionando l'array con il valore "this.n" (ovvero con il valore della variabile di istanza, non quella passata al costruttore), che è 0.
Quindi, o assegni il valore di "n" a "this.n", prima di quella riga, oppure semplicemente dimensioni il vettore "v" con il valore di "n" e non di "this.n"...
codice:// Soluzione 1: public ContoCorrente( ... ) { ... this.n = n; v = new double[this.n]; } // Soluzione 2: public ContoCorrente( ... ) { ... v = new double[n]; }
Non ho guardato il resto del codice. Consiglio la soluzione 1 perchè magari poi nel resto della classe vorrai usare il valore della variabile di istanza "n", che non stai inizializzando nel costruttore.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Grazie Lele come al solito sei efficacissimo,a onor di cronaca ho dovuto sistemare anche il metodo"operazioni" ragion per cui,per chi ne avesse bisogno o semplicemente avesse curiosità,posto la mia soluzione,naturalmente questi metodi possono essere modificati,ottimizzati ecc...
Classe Main:codice:public static void main(String[] args) { // TODO code application logic here Scanner sc=new Scanner(System.in); System.out.println("Inserire il numero delle transazioni"); int n=sc.nextInt(); double v[]=new double[n]; System.out.println("Inserire il nome del correntista"); String nome = sc.next(); System.out.println("Inserire il cognome del correntista"); String cognome = sc.next(); System.out.println("Inserire il numero di conto"); int numeroconto=sc.nextInt(); System.out.println("Inserire il saldo iniziale del correntista"); double saldo=sc.nextDouble(); for (int i=0;i<n;i++){System.out.println("Inserire il valore della transazione"); v[i]=sc.nextDouble();} double saldo1=0; ContoCorrente cont=new ContoCorrente(nome,cognome,numeroconto,saldo,n,saldo1,v); saldo1=cont.Operazioni(v,saldo1); double saldo2=saldo+saldo1; System.out.println("Il valore finale del saldo è "+saldo2); for (int i=0;i<n;i++) {System.out.println("Le transazioni effettuate sono"+v[i]);} } }
Classe Conto Corrente:
P.S.Lele grazie mille per l'aiuto per una cavolata mi stavo impazzendo
codice:public class ContoCorrente {private String nome;private String cognome;private int numeroconto;private double saldo;private double v[];private int n; private double saldo1; public ContoCorrente (String nome,String cognome,int numeroconto,double saldo,int n,double saldo1,double v[]){ this.nome=nome; this.cognome=cognome; this.numeroconto=numeroconto; this.saldo=saldo; this.n=n; v=new double [this.n]; } public String getnome(){return nome;} public String getcognome(){return cognome;} public int getnumeroconto(){return numeroconto;} public double Operazioni(double v[],double saldo1){ for(int i=0;i<n;i++) { saldo1+=v[i];} return saldo1;} }![]()
Ultima modifica di hhh6; 01-10-2014 a 12:54