Eine mögliche Variante eines kleinen Testprogramms ist der von der übergeordneten HTML-Seite unter Lösung stehende Quelltext. Mit ihm lässt sich auch feststellen, dass niemals eine Warnmeldung ausgegeben wird. Stattdessen läuft die Variable ergebnis weiterhin über, wenn der Wertebereich überschritten wird.
Der Grund dafür liegt in der Zeile
long ergebnis = suml + sum2;
Hier wird zunächst die Operation rechts vom Gleichzeichen abgearbeitet, also die beiden int-Werte addiert. Während die Addition durchgeführt wird, macht sich die virtuelle Maschine noch keine Gedanken darum, in welcher Variablen das Ergebnis gespeichert werden soll und welchen Datentyp sie hat. Und so ist der Fall ganz einfach: Zwei int-Werte werden addiert, also ist das Ergebnis für Java auch erst einmal ein int. Und wenn der Wertebereich überschritten wird, ist das eben so. Was auch immer für ein Quatsch dabei herauskommt, wird erst im zweiten Schritt einem ausreichend großen 1ong zugewiesen. In diesem Moment ist das Kind aber bereits in den Brunnen gefallen.
Die Lösung besteht auch hier aus expliziten Typumwandlungen. Wenn sum1 und sum2 vor der Addition in 1ong-Werte umgewandelt werden, ist auch die Summe ein 1ong. Und den kann man später daraufhin prüfen, ob er innerhalb des Wertebereichs von int liegt.