![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
![]() Registriert seit: 13.05.2002
Alter: 44
Beiträge: 259
|
![]() Kann mir jemand von euch die dangling else Funktion in Java erklären?
Was ist eigentlich der Sinn bei dieser Funktion? if (a>b) if (a>0) max = a; else max = b; if (a>b) { if (a>0) max = a; } else max = b; Wann verwende ich eine dangling else Funktion? bzw. wenn ich keine geschwungenen Klammern setze funktioniert die Funktion überhaupt und welche if Funktion wird dann genommen. mit den geschwungenen Klammern hat es bei mir funktioniert, jedoch hab ich diese weggelassen hat es nicht funktioniert. vielleicht könnt ihr mir auch etwas allgemein die dangling else Funktion erklären. Danke für eure Hilfe! Greetz! |
![]() |
![]() |
![]() |
#2 |
Quantensingularität
![]() |
![]() Was verstehst du unter dangling else Funktion? Ich kenne nur die if-else Bedingung.
Setzt du keine {} so wird nur eine Zeile des Codes abgearbeitet. Untige Funktion berechnet das Maximum von 2 Zahlen wobei a auch noch größer 0 sein muss. Beim ersten Codekonstrukt (ohne Klammern) zieht die 2. wird der Else Zweig der 2. If Bedingung zugeordnet. Beim 2. Code Konstrukt Aufgrund der Klammernsetztung dem 1. If.
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
#3 |
Veteran
![]() Registriert seit: 13.05.2002
Alter: 44
Beiträge: 259
|
![]() in meinem Javabuch steht die dangling else als eine spezielle form der if else bedingung weil man 2 if bedingungen hat und eine in der luft hängt. so ungefähr stehts im buch.
|
![]() |
![]() |
![]() |
#4 |
Quantensingularität
![]() |
![]() Habe mich jetzt mal schlau gemacht. Als dangling else wird eine falsche Ausführung des Codes bezeichnet, verursacht durch keine Klammernsetzung.
siehe dazu: http://math-www.uni-paderborn.de/Ser...id006002001003 http://www.fh-landshut.de/~gschied/p...slide0128.html Ich hatte das Problem noch gar nicht, deswegen kannte ich auch den Ausdruck nicht. Allerdings sehe ich auch kein Problem darin. Ohne Klammernsetzung wird else einfach dem letzten if zugeordnet, ansonsten hat man eh die Klammern. Ist kein Programmierproblem, sondern ein eifacher Prigrammierfehler.
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|