A good answer might be:

The revised program is given below

Complete Program with Input Checking

Checking the user input is done with an if-else structure:


import java.io.*;
class  SquareRoot
{
  public static void main( String[] args ) throws IOException
  {
    final double smallValue = 1.0E-14 ;
    double N  ;             // the user enters N
    double guess = 1.00 ;   // the same first guess works for any N

    // get the number from the user
    String NChars;
    BufferedReader stdin = 
        new BufferedReader( new InputStreamReader(System.in) );
    System.out.println("Enter the number:"); 
    NChars = stdin.readLine(); 
    N      = ( Double.valueOf( NChars ) ).doubleValue();

    if ( N >= 0.0 )
    {
      while ( Math.abs( N/(guess*guess) - 1.0 ) > smallValue )
      {      
         guess =  N/(2*guess) + guess/2 ; // calculate a new guess
      }

      System.out.println("The square root of " + N + " is " + guess ) ;
    }
    else
      System.out.println("Please enter a positive number");

  }

}


QUESTION 19:

Will the program work if the user enters a zero?