Java Überlauf Abfrage?

4 Antworten

Was genau meinste denn? Werte hinzufügen per Eingabe würde bspw. mit Scanner gehen.

https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

Dann muss ich PerfectMuffin zustimmen. Die Addition (a+b) dürfte intern einen Integerwert ergeben, der aber nie größer als Integer.MAX_VALUE sein kann. Möglich dürfte sein, dass das Resultat den Typ long hat. Das kannste dann gegen Integer.MAX_VALUE gegenprüfen.

Eine andere Methode dürfte sein beide Werte vom maximalen Wert abzuziehen und zu gucken, ob dieser dann größer als 0 ist. Eine weitere Möglichkeit hat KarlRanseierIII auch genannt.

Etter  02.12.2019, 20:21

Kleine Ausbesserung: Man sollte prüfen, ob das Ergebnis der Subtraktion >=0 ist, um auch abzudecken, dass die Addition den maximalen Wert genau annimmt.

0

Wie albern. lol

Wenn MAX_VALUE der höchstmögliche intwert ist, wie könnte dann die Summe zweier Intwerte größer sein?

Soll nicht gemein klingen, ich finde das lustig.

Ist deine eigentliche Frage, wie du Zahlen in das Programm bekommst, ohne den Quelltext zu ändern?

Was für codes willst du hinzufügen? Was ist für dich ein code?

Ich würde sagen das ganze ding ist code, aber das meinst du sicher nicht.

Das sollte keinen fehler geben denke ich. Funktionieren tut der code aber auch nicht. A+B kann nur kleiner als MAX_VALUE sein, bei einem überlauf wäre es ja der niedrigste wert.

So jedenfalls geht es nicht. Nichts kann > Max werden

Wenn ich wissen will, ob a+b >c wäre, dann kann ich auch schauen, ob a>b-c ist.