import java.util.ArrayList;

public class HelloWorld {
    public static void main(String[] args) {
        Einkauf einkauf = new Einkauf();
        // Preis: 3.20, Faktor: 10, Menge: 1
        einkauf.addEinkauf(3.20, 10, 1, "Einkauf");
        // Ergebnis: 32.0
        System.out.println(einkauf.getPunkte());
    }
}

public class Produkt {
    // Statt „protected“-Felder kann man auch
    // sog. Getter-Methoden verwenden, um auf
    // die Werte zuzugreifen.
    protected double preis = 0;
    protected int faktor = 0, menge = 0;
    protected String name;

    public Produkt(
        double preis,
        int faktor,
        int menge,
        String name
    ) {
        this.preis = preis;
        this.faktor = faktor;
        this.menge = menge;
        this.name = name;
    }
}

class Einkauf {
    private ArrayList<Produkt> produkte = new ArrayList<Produkt>();

    public void addEinkauf(
        double preis,
        int faktor,
        int menge,
        String name
    ) {
        produkte.add(new Produkt(preis, faktor, menge, name));
    }

    public double getPunkte() {
        double punkte = 0;
        // Punkte für jedes einzelne Produkt ermitteln
        for (Produkt p : produkte) {
            punkte += (p.preis * p.menge * p.faktor);
        }
        // Gesamtzahl der Punkte zurückgeben
        return punkte;
    }
}
...zur Antwort