Java code nicht verständlich?

... komplette Frage anzeigen

4 Antworten

das ganze kann man auch anders darstellen.

für 'Anfänger' leichter lesbar:

double prob(int i) { if (i <= N && i >= 0) { return p[i]; } else { return 0;
}

Diese Schreibweise ist einfach nur eine Abkürzung für eine einfache Fallunterscheidung. Im Pseudocode würde da stehen:

Wenn Bedingung erfüllt -> Rückgabewert 1 (Vor Doppelpunkt) SONST  Rückgabewert 2 (Nach Doppelpunkt)

Antwort bewerten Vielen Dank für Deine Bewertung

Wo hast du den Code her?

Das ganze Ding ist eine (int nach double) Funktion, die versucht, aus einem double-Array namens p einen Wert mit index(bzw <0 oder >N, was auch immer N ist) zu bekommen und falls i ein ungültiger index ist, wird einfahc 0 zurückgegeben.

Was verstehst du hiervon nicht?

Antwort bewerten Vielen Dank für Deine Bewertung

Cond ? A : B

entspricht der Wenn(Bedingung;Ja-Wert;Nein-Wert) Funktion, die du vielleicht aus Excel kennst.

Wenn die Bedingung ( "i liegt zwischen 0 und N inclusive") erfüllt ist, wird p[i] zurück gegeben, sonst 0.

Andernfalls würdest du bei falschem i mit einer ArrayIndexOutOfBounds Exception aussteigen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von leonardomessi
22.07.2016, 13:55

bist ein Held danke!

0
(i <= N && i>=0) ? p[i] : 0

Der Code ist nicht sehr leserlich. Würde

(0 <= i && i <= N) 

stehen, würde es der leserlichen Bedingung

0 ≤ i ≤ N

näher kommen; was leider in Java nicht möglich ist.

Aber einmal ≤ und einmal ≥ zu verwenden ist wirklich irreführend. Wo hast Du denn dieses Beispiel her?

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?