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 will supply a value for N
    double guess = 1.00 ;                   // the same first guess will work 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 value for the 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?