Eine gute Antwort wäre:

Das überarbeitete Programm steht unten.

Vollständiges Programm mit Eingabeüberprüfung

Die Überprüfung des Inputs wird mit einer if-else-Anweisung vorgenommen:


import java.io.*;
class  Quadratwurzel
{
  public static void main( String[] args ) throws IOException
  {
    final double FASTNULL = 1.0E-14 ;
    double n  ;               // der Anwender gibt n ein
    double schaetzung = 1.0 ; // die gleiche Schätzung funktioniert für jedes n

    // die Zahl vom Anwender holen
    String nChars;
    BufferedReader stdin =
        new BufferedReader( new InputStreamReader(System.in) );
    System.out.println("Geben Sie eine Zahl ein:");
    nChars = stdin.readLine();
    n      = ( Double.valueOf( nChars ) ).doubleValue();

    if ( n >= 0.0 )
    {
      while ( Math.abs( n/(schaetzung*schaetzung) - 1.0 ) > FASTNULL )
      {
         // einen neuen Wert für schaetzung berechnen
         schaetzung =  n/(2*schaetzung) + schaetzung/2 ;
      }

      System.out.println("Die Quadratwurzel von " + n + " ist " + schaetzung ) ;
    }
    else
      System.out.println("Geben Sie bitte eine positive Zahl ein.");

  }
}


FRAGE 19:

Wird das Programm funktionieren, wenn der Anwender 0 eingibt?

Inhaltsverzeichnis