Ein Konstruktor dient dazu eine Instanz zu initiieren. Darin sollte aber nicht die komplette Logik bereits ablaufen.
Aufgaben hast Du bereits in Methoden ausgelagert, das ist gut, aber im Konstruktor alle Methoden aufzurufen ist keine gute Lösung. Du nimmst Dir damit die Möglichkeit, spätere Prozesse nachträglich einzubauen.
Anstatt showAllData() würde ich als Getter setzen, bspw. getData(). In der Methode sollte dann die Berechnung angestoßen werden. Noch besser wäre das in zwei Methoden aufzubauen, bspw. so:
Das kannst Du dann wenn die Methode Calculate() bspw. eine Referenz auf sich selbst zurückgibt auch zusammenfassen: