Bedingungen für Parameterwerte

Alucardd

Mitglied
Hi,

mir hat sich gerade, bei einer mathematische Formel, bei der bestimmte Werte eine definierte Menge haben, eine Frage gestellt und zwar ob man, für zB. Integer Parameter-Werte in der Methode oder im Parameter, direkt Bedingungen für eben jene Werte stellen kann. Also auch zB., dass der erste Wert immer größer sein muss als der zweite.

Edit: Ich meine nicht, dass ich in der Methode direkt am Anfang ein if else mache. So habe ich es nämlich zuerst gemacht und dann ist mir eingefallen, dass ich bei else nicht return null hinschreiben kann weil die methode kein objekt zurückgeben soll sonder ein Integer.

Grüße
 
Zuletzt bearbeitet:

mrBrown

Super-Moderator
Mitarbeiter
Über Annotationen könnte das uU mit dem Checker Framework (schöner als mit Bean Validation) möglich sein, aber im Kopf hab ich da nichts.

Edit: Ich meine nicht, dass ich in der Methode direkt am Anfang ein if else mache. So habe ich es nämlich zuerst gemacht und dann ist mir eingefallen, dass ich bei else nicht return null hinschreiben kann weil die methode kein objekt zurückgeben soll sonder ein Integer.
Statt null zurückgeben könnte man dort eine Exception werfen :)
 

LimDul

Top Contributor
Ein Integer ist auch ein Objekt - da kann man null zurückgeben (nur bei int) nicht. Wäre auch eine Option, Integer anstelle von int zu verwenden. Gibt dann aber halt eine Exception, wenn jemand versucht das als int zu nutzen und null zurückgekommen ist.

Im Endeffekt ist das alles aber nix anderes als eine Bedingung am Anfang die dann eine Exception wird, wenn die Bedingung verletzt ist.
 

L0oNY

Bekanntes Mitglied
Wäre es an dieser Stelle nicht sinnvoller, die Korrektheit der Parameter an einer anderen Stelle zu prüfen und dafür zu sorgen, dass eben die richtigen Parameter übergeben werden?
Wenn man eine Methode mit int als Parameter aufruft, will man ja auch nicht erst beim Aufruf testen, ob es ein String ist, sondern vorher sicherstsellen, dass sie nur mit int aufgerufen wird
 

LimDul

Top Contributor
Jein. Eine Methode sollte sich nie drauf verlassen, dass sie immer mit korrekten Parametern aufgerufen wird. Einiges kann man durch Typ-Definition erschlagen, aber nicht alles. Wenn ich als Beispiel wie hier zwei Zahlen als Eingabe habe und die Bedingung, dass die erste Zahl großer als die zweite ist, ist das etwas wo ich mich als Programmierer der Methode nicht drauf verlassen kann, dass der Aufrufer das schon richtig gemacht hat (zumindest wenn die Methode public ist - bei private Methoden kann man es ggf. noch verifizieren). Und dann macht man eigentlich:

* Im Javadoc diese Bedingung dokumentieren (Idealerweise hat die Methode und die Parameter auch so sprechende Namen, dass es klar ist)
* Am Anfang der Methode die Bedingung prüfen und wenn sie nicht erfüllt ist, eine IllegalArgumentException werfen.
* Unit-Tests schreiben die das korrekte und das Exception Verhalten testen.
 

Alucardd

Mitglied
Danke für die Antworten.:)

* Im Javadoc diese Bedingung dokumentieren (Idealerweise hat die Methode und die Parameter auch so sprechende Namen, dass es klar ist)
* Am Anfang der Methode die Bedingung prüfen und wenn sie nicht erfüllt ist, eine IllegalArgumentException werfen.

Habe es so gemacht wie von LimDul beschrieben. Javadoc und die Bedingung müsste dafür reichen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Scanner für char-wert/ if mit 2 bedingungen? Java Basics - Anfänger-Themen 5
E Audio Datei unter Bedingungen ausführen Java Basics - Anfänger-Themen 19
T Mehrere if bedingungen ohne & Java Basics - Anfänger-Themen 2
B If Bedingungen kombinieren? Java Basics - Anfänger-Themen 5
B Semaphoren in Abhängigkeit an Bedingungen richtig setzen Java Basics - Anfänger-Themen 3
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
B Collections.sort mit zwei Bedingungen? Java Basics - Anfänger-Themen 4
D Wert des Arrays unter Bedingungen ändern Java Basics - Anfänger-Themen 1
J Unit Testing mit vielen Bedingungen - Best Practice? Java Basics - Anfänger-Themen 9
S mehrere If Bedingungen Java Basics - Anfänger-Themen 5
U Schleife mit mehreren Bedingungen ? Java Basics - Anfänger-Themen 29
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
E Bedingungen abkürzen Java Basics - Anfänger-Themen 13
S Erste Schritte Begrüßung mit if-Bedingungen Java Basics - Anfänger-Themen 7
S Fragen zu Ausdrücken&Bedingungen Java Basics - Anfänger-Themen 5
G While schleife mit 2 Bedingungen geht nicht! Java Basics - Anfänger-Themen 15
H Bedingungen miteinander verknüpfen Java Basics - Anfänger-Themen 2
J if Bedingungen verknüpfen Java Basics - Anfänger-Themen 8
K Bedingungen else Java Basics - Anfänger-Themen 7
M Variablen Switch Bedingungen Java Basics - Anfänger-Themen 12
W for Schleife mit zwei bedingungen ? Java Basics - Anfänger-Themen 6
F Bedingungen mit Abfragen verknüpfen Java Basics - Anfänger-Themen 7
W Was tun die Operatoren ? und : (Bedingungen) Java Basics - Anfänger-Themen 15
Q If-Abfrage mit mehreren Bedingungen Java Basics - Anfänger-Themen 6
reno Bedingungen in Konfigurationsdatei Java Basics - Anfänger-Themen 2
K Bedingungen mit "und" trennen ? Java Basics - Anfänger-Themen 2
J Performance Vergleich von if-Abfragen mit mehreren Bedingungen Java Basics - Anfänger-Themen 9
M Kann man Bedingungen auch ohne Schleifen prüfen? Java Basics - Anfänger-Themen 5
C switch-case mit bedingungen? Java Basics - Anfänger-Themen 5
NightmareVirus 2 Abbruch Bedingungen in einer for-schleife Java Basics - Anfänger-Themen 2
G Schleifen mit mehreren Bedingungen Java Basics - Anfänger-Themen 4
G Mehrere If Bedingungen Java Basics - Anfänger-Themen 11
A Mehrere if Bedingungen untereinander? Java Basics - Anfänger-Themen 4
J if-Bedingungen in C und Java Java Basics - Anfänger-Themen 4
G if-Abfrage mit zwei Bedingungen Java Basics - Anfänger-Themen 6
C zwei Bedingungen in einer if Anweisung Java Basics - Anfänger-Themen 1
M Code aus IntelliJ in "Textform" für Word-Paper? Java Basics - Anfänger-Themen 10
G Icon für App Java Basics - Anfänger-Themen 1
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
D Apache HTTPClient für alle Fälle Java Basics - Anfänger-Themen 41
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
J Fehlermeldung unverständlich für Jakarta Java Basics - Anfänger-Themen 17
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
M GUI für Vier-Gewinnt. Java Basics - Anfänger-Themen 4
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
R Operatoren Rechenoperation verwenden für Taschenrechner. Java Basics - Anfänger-Themen 32
Ostkreuz Counter für Booleanwerte Java Basics - Anfänger-Themen 8
B Regex Ausdrücke für Monate Java Basics - Anfänger-Themen 7
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Code für Bezahlsystem (auch bei Offline Aktivität) Java Basics - Anfänger-Themen 7
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
izoards Sortier Algorithmus für Bounding Box Elememte Links nach Rechts und von Oben nach Unten Java Basics - Anfänger-Themen 33
M generate Methode für Streams Java Basics - Anfänger-Themen 6
I Datenmodell für "Tags" Java Basics - Anfänger-Themen 6
Lion.King for-Kontrollstruktur für Pyramide Java Basics - Anfänger-Themen 8
B Mit Countdown Midnestdauer für Teilaufgabenerledigung erzwingen Java Basics - Anfänger-Themen 8
J File length als Prüfwert für Download Java Basics - Anfänger-Themen 5
K Spieleidee gesucht für Informatikprojekt - JAVA (BlueJ)? Java Basics - Anfänger-Themen 15
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
javamanoman Java für Online Banking Java Basics - Anfänger-Themen 12
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
I SQL / JPA Query für StartDate und EndDate Java Basics - Anfänger-Themen 1
T getMethode für ein Array Java Basics - Anfänger-Themen 2
Fats Waller Farben mixen für den Hintergrund ? Java Basics - Anfänger-Themen 1
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
N Api nur für Textdatein (.txt) Java Basics - Anfänger-Themen 2
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
R Ist Java das Richtige für mich? Java Basics - Anfänger-Themen 4
E Mittelquadratmethode für Hexadezimalzahlen Java Basics - Anfänger-Themen 1
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
S BubbleSort für ArrayLists Java Basics - Anfänger-Themen 3
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
L Konzept für Quiz Java Basics - Anfänger-Themen 33
D Methoden Plathhalter für Integer in einer Methode Java Basics - Anfänger-Themen 19
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
T Algorithmus für Index mit min-Wert Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben