Ich weiß nicht wie das mit den Fehlern bei Java ist und warum dann c auf diesen Wert gesetzt wird, aber wenn du sehen willst ob es wirklich zu groß ist kannst du ja vorher einen eigenen Check einbauen.
Sowas dann einfach in Java übernehmen:
Code:
wenn ( 3 * a * b ) > Integer.MAX_VALUE dann
//FEHLER, ZAHL ZU GROß
Code:
wenn ( 3 * a * b ) < Integer.MIN_VALUE dann
//FEHLER, ZAHL ZU KLEIN
Integer.MIN_VALUE / Integer.MAX_VALUE ist schon in Java implementiert und habe ich hier gefunden:
(btw. das hier ist die .NET Section, also C# und VB

also nicht ganz passend wenns um Java geht)