WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 14.01.2003, 07:59   #1
The Brain
Veteran
 
Registriert seit: 13.05.2002
Alter: 44
Beiträge: 259


Standard Java Problem

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!
The Brain ist offline   Mit Zitat antworten
Alt 14.01.2003, 09:17   #2
Tarjan
Quantensingularität
 
Registriert seit: 28.09.2000
Alter: 55
Beiträge: 8.336


Tarjan eine Nachricht über ICQ schicken
Standard

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!
Tarjan ist offline   Mit Zitat antworten
Alt 14.01.2003, 10:19   #3
The Brain
Veteran
 
Registriert seit: 13.05.2002
Alter: 44
Beiträge: 259


Standard

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.
The Brain ist offline   Mit Zitat antworten
Alt 14.01.2003, 10:40   #4
Tarjan
Quantensingularität
 
Registriert seit: 28.09.2000
Alter: 55
Beiträge: 8.336


Tarjan eine Nachricht über ICQ schicken
Standard

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!
Tarjan ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:04 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag