Eine gute Antwort wäre:

Prüfen Sie die Dokumentation. Welchen Typ von Argument erwartet sqrt()?

double

Was ist der Typ des von sqrt() zurückgegebenen Werts?

double

Ist sqrt() eine statische Methode?

Ja

NaN

Bei einer weiteren Betrachtung derDokumentation von Sun über sqrt() finden wir die Details:

Gibt die korrekt gerundete positive Quadratwurzel eines double-Werts zurück. Wenn das Argument keine Zahl oder kleiner als 0 ist, ist das Ergebnis NaN.

NaN steht für "Not a Number" (Ist keine Zahl). Das ist ein 64-Bit Muster, das von sqrt() zurückgegeben wird, wenn das Argument nicht korrekt ist. Hier ist ein Probelauf des Programms:

C:\chap11>java QuadratWurzel
Geben Sie ein double ein: -3
Quadratwurzel             : NaN

Hier hat die Methode das 64-Bit Muster NaN zurückgegeben. Die println() Methode gibt die Zeichen "NaN" aus, wenn sie dieses Muster sieht. (Das tatsächliche Bitmuster repräsentiert keine Character-Daten.)

In einer äußerst sicheren, stark industriellen Sprache wie Java muss das Verhalten einer Funktion für jeden möglichen Input beschrieben sein, sowohl der zulässige Bereich als auch der unzulässige Bereich. Die Dokumentation beschreibt alle diese Fälle. Aber Sie müssen sich jetzt darüber keine Sorgen machen. Wenn Ihr Programm "NaN" ausgibt, Sie aber gültige Daten eingegeben haben, dann haben Sie vermutlich einen logischen Fehler.

FRAGE 11:

Was denken Sie ist der Output des folgenden Programmfragments:

int x = 9;
System.out.println( Math.sqrt( x ) );
Inhaltsverzeichnis