Salve a tutti, sto cercando di creare un metodo che mi prenda in input un valore X da confrontare con il prezzo degli oggetti appartenenti all'arrayList<Prodotto> e poi successivamente stampare a schermo quelli con prezzo maggiore di X.
Non riesco a fare stampare i nomi ma solo i loro indirizzi in memoria (ex. @3455474) condivido gli script
package Es_4;
public class Test {
public static void main(String[] args) {
Libreria l = new Libreria("libreria1");
Libro a1 = new Libro(13, "ciao", Lingua.italiano);
Libro a2 = new Libro(4, "ciao", Lingua.italiano);
Libro a3 = new Libro(6, "ciao", Lingua.italiano);
l.aggiungiProdotto(a1);
l.aggiungiProdotto(a2);
l.aggiungiProdotto(a3);
System.out.println(l);
System.out.println(l.getOggettiConPrezzoMaggioreDi(3));
}
}
package Es_4;
import java.util.ArrayList;
public class Libreria {
private String nomeLibreria;
private ArrayList<Prodotto> listaProdotti = new ArrayList<>();
ArrayList<Prodotto> prod = new ArrayList<>();
public void aggiungiProdotto(Prodotto prodotto) {
listaProdotti.add(prodotto);
}
public Libreria(String nomeLibreria) {
this.nomeLibreria = nomeLibreria;
}
public String getNomeLibreria() {
return nomeLibreria;
}
public ArrayList<Prodotto> getOggettiConPrezzoMaggioreDi(double x) {
for (Prodotto p : listaProdotti) {
if (p.getPrezzo() > x) {
prod.add(p);
}
}
return prod;
}
}