Überlauf verhindern

JeNeSaisPas

Mitglied
Hi zusammen, ich muss bei einer Aufgabe einen möglichen Überlauf abfangen und zwar mit einer ArithmeticException, hab mich jetzt mal dran versucht aber er schmeisst mir jetzt bei jeder Ziffer eine Exception, selbst wenn a & b = 1 sind, was ja wirklich nicht zu einem Überlauf führen kann..

[JAVA=42]
public int kleinstesGeVielfaches(int a, int b) {

int temp;
try{
temp = (a * b) / groeßterGemTeiler(a,b);
throw new ArithmeticException();
}catch(ArithmeticException e){
System.err.println("Achtung Überlauf!");
}
return (a * b) / groeßterGemTeiler(a,b);;
}
}

[/code]

Wär echt super wenn mir auf die schnelle noch jemand einen Tipp geben könnte :) :applaus:
 

specX64

Neues Mitglied
Moin :) aber mal echt !

Schau dir mal Zeile 46 und 47 an. Nachdem du deine Berechnung durchgeführt hast soll ja auch eine
Exception erfolgen - so dein code. Es fehlt halt die Bedingung wann denn nun eine Exception erfolgen
soll.

lg

und noch frohes schaffen
 

XHelp

Top Contributor
Beim Überlauf kommt keine Exception. Überlauf kannst du verhindern, in dem du long benutzt und dann guckst, ob es wieder in
Code:
int
passt
Außerdem ergibt das so wie es da steht kein Sinn. Du schmeißt IMMER eine Exception und fängst die dann auf.
 

JeNeSaisPas

Mitglied
Also der Aufgabentext lautet:

"Achten Sie des Weiteren darauf, dass kein Überlauf in
der Berechnung entsteht! Sollten die Eingabeparameter zu einem Überlauf führen, muss eine
ArithmeticException mit der Nachricht „Achtung Überlauf!“ geworfen werden."

Das mit der Bedingung hab ich mir schon gedacht, aber was ist denn die Bedingung für einen Überlauf???
 

XHelp

Top Contributor
Das hier wäre so die spontane Idee:
Java:
long temp = (long)a*b;
if (temp>Integer.MAX_VALUE) {
  throw new ArithmeticException("Overflow");
}
Sofern a und b keine Primzahlen sind kann es durch die Division doch wieder in ein int passen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
SHasteCode Datentypen Überlauf primitiver Datentypen Java Basics - Anfänger-Themen 4
K Überlauf Java Basics - Anfänger-Themen 13
B JAVA Datentypen/Überlauf Java Basics - Anfänger-Themen 4
T Überlauf? Java Basics - Anfänger-Themen 9
J Auf Überlauf prüfen Java Basics - Anfänger-Themen 14
V Überlauf Fakultät Java Basics - Anfänger-Themen 4
O Überlauf durch Multiplikation Java Basics - Anfänger-Themen 7
B Race Condition mittels Semaphore verhindern Java Basics - Anfänger-Themen 13
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
CptK Unnötige Schreibarbeit in for Schleife verhindern Java Basics - Anfänger-Themen 12
D Verhindern das repaint beim vergrößern aufgerufen wird Java Basics - Anfänger-Themen 9
M Best Practice Verschieben einzelner Spalten eines JTables verhindern Java Basics - Anfänger-Themen 5
R Zeilenediting verhindern Java Basics - Anfänger-Themen 3
A charAt(x)-Abfrage lässt bei Strings<x das Pgrogramm abstürzen. Kann man das verhindern? Java Basics - Anfänger-Themen 4
E Buchstaben verhindern / Try & Catch Block Java Basics - Anfänger-Themen 3
O JTextArea: Wo wird der Text gespeichert? Wie kann man es verhindern? Java Basics - Anfänger-Themen 4
P JFrame Component automatische Größe verhindern Java Basics - Anfänger-Themen 2
E Exception verhindern? Java Basics - Anfänger-Themen 5
H Zugriff auf Desktop verhindern Java Basics - Anfänger-Themen 6
B Fehler mit try + catch verhindern Java Basics - Anfänger-Themen 8
G txt-File als DB>doppelte Einträge verhindern/Suche/... Java Basics - Anfänger-Themen 10
T ArrayList mit verschiedenen Datentypen verhindern Java Basics - Anfänger-Themen 8
C Zeilenumbruch verhindern / Clrscr ? Java Basics - Anfänger-Themen 3
V Multithread NullPointerException verhindern Java Basics - Anfänger-Themen 8
A Stilfrage: statische Methoden und Attribute auf jeden Fall verhindern? Java Basics - Anfänger-Themen 5
V Zeilenumbruch bei der Eingabe verhindern Java Basics - Anfänger-Themen 6
S JTable--Beschreiben der Zellen durch Doppelklick verhindern Java Basics - Anfänger-Themen 4
G Aufruf verhindern: JTable.getValueAt Java Basics - Anfänger-Themen 2
I Zugriff auf Implementierung verhindern Java Basics - Anfänger-Themen 8
N Mehrmaliges ausführen verhindern Java Basics - Anfänger-Themen 10
M Hashtable gleichzeitigen Zugriff verhindern Java Basics - Anfänger-Themen 11
S Screenshots verhindern? Java Basics - Anfänger-Themen 5
G Propertydatei wird zweimal erstellt ? Wie verhindern? Java Basics - Anfänger-Themen 6
J Dynamische Größenveränderung der Komponenten verhindern Java Basics - Anfänger-Themen 8
J Verhindern das Werte in einem Array verloren gehen Java Basics - Anfänger-Themen 13
G JTable - automatische Eintragung von Daten verhindern Java Basics - Anfänger-Themen 7
B Zahlenwiederholung bei Math.random verhindern Java Basics - Anfänger-Themen 4
G Eingabe verhindern Java Basics - Anfänger-Themen 2
P decompilierung verhindern? Java Basics - Anfänger-Themen 5
G mehrfaches Öffnen eines JInternalFrame verhindern Java Basics - Anfänger-Themen 11
F Eingabe von Buchstaben verhindern Java Basics - Anfänger-Themen 5
G java.lang.IllegalThreadStateException nicht zu verhindern! Java Basics - Anfänger-Themen 4
V Doppelte Zahlen bei Lotto verhindern Java Basics - Anfänger-Themen 11
N Overflow verhindern? Java Basics - Anfänger-Themen 16
F Verhindern des schließen des Fensters Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben