Complete Program with Input Checking

Classic programmed-learning exercises, refreshed for modern Java and presented in the current MrStyner.com portfolio style.

Modern Java noteThis archive has been refreshed for Java 25 LTS. Core language concepts remain useful, while outdated setup instructions and browser-era Java are labeled or replaced. Java 26 is the current feature release; Java 25 is used here as the stable teaching baseline.
go to previous page   go to home page   go to next page

Answer:

The revised program is given below

Complete Program with Input Checking

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

import java.util.Scanner;
class  SquareRoot
{
  public static void main( String[] args ) 
  {
    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
    Scanner scan = new Scanner( System.in );
    System.out.print("Enter the number: "); 
    N = scan.nextDouble();

    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 21:

Will the program work if the user enters a zero?