Ciao a tutti,
Questo è il mio codice.
Portafoglio:
package it.esercizi;
import java.util.ArrayList;
import java.util.Scanner;
public class Portafoglio {
public double sommaTotale;
public Portafoglio conteggio;
public Portafoglio(double sommaTotale) {
this.sommaTotale = sommaTotale;
}
public Portafoglio() {
super();
}
public Portafoglio getConteggio() {
return conteggio;
}
public void setConteggio(Portafoglio conteggio) {
this.conteggio = conteggio;
}
public double getSommaTotale() {
return sommaTotale;
}
public void setSommaTotale(double sommaTotale) {
this.sommaTotale = sommaTotale;
}
public void aggiungiEuro(double euro) {
this.sommaTotale += euro;
}
public void aggiungiLire(double lire) {
this.sommaTotale += (lire / 1936.27);
}
public void togliEuro(double euro) {
if (euro > this.getSommaTotale()) {
System.out.println("Non ci sono abbastanza soldi");
} else
this.sommaTotale -= euro;
}
public void togliLire(double lire) {
if (lire > this.getSommaTotale()) {
System.out.println("Non ci sono abbastanza soldi");
} else
this.sommaTotale -= (lire / 1936.27);
}
public double quantiSoldi() {
return sommaTotale;
}
public ArrayList<Portafoglio> menu(int n) {
ArrayList<Portafoglio> list = new ArrayList<>();
Portafoglio s = list.get(n);
list.add(s);
for (int i = 0; i < list.size(); i++) {
Scanner in = new Scanner(System.in);
System.out.println("Quanti euro vuoi aggiungere: ");
double euro = in.nextDouble();
list.get(i).aggiungiEuro(euro);
System.out.println("Quanti lire vuoi aggiungere: ");
double lire = in.nextDouble();
list.get(i).aggiungiLire(lire);
System.out.println("Quanti euro vuoi togliere: ");
double e = in.nextDouble();
list.get(i).togliEuro(e);
System.out.println("Quanti lire vuoi togliere: ");
double l = in.nextDouble();
list.get(i).togliLire(l);
list.add(s);
}
return list;
}
}
Il problema che non m viene popolato la lista con più portafogli ho problema con i size.
Ad ogni valore di n ad esempio n=2, size doveva risultare a 2 è popolari la lista quando ha finito il ciclo due volte, ma non fa niente.
Il problema è qui dentro:
Portafoglio s = list.get(n);
list.add(s);
Questo è il test:
Portafoglio p1 = new Portafoglio();
Scanner in = new Scanner(System.in);
System.out.println("Quanti portafogli: ");
int n = in.nextInt();
ArrayList<Portafoglio> m = p1.menu(n);
for (int i = 0; i < m.size(); i++) {
System.out.println(m.get(i).quantiSoldi());
}
Mi potete aiutare?