The NewtonsSquareRoot Class
Objectives
• Writing a class using conditionals that test double values
• Writing a class using a while loop
The project directory should include the following:
• NewtonsSquareRoot.java
• NewtonsSquareRootTest.java
Details
To approximate the square root of a positive number n using Newton's method, you need to make an initial guess at the root and then refine this guess until it is "close enough." Your first initial approximation should be root = 1; A sequence of approximations is generated by computing the average of root and n/root.
Use the constant:
private static final double EPSILON = .00001;
Your loop for findSquareRoot should behave like this:
make the initial guess for root
while ( EPSILON < absolute value of the difference between root squared and n )
calculate a new root
return root
Your class should have a constructor that takes the number you want to find the square root of. Implement the usual accessor method(s) and a findSquareRoot method that uses Newton's method described above to find and return the square root of the number. Add a method setNumber that takes a new number that replaces the number in the instance field. Supply a toString method that returns a string containing the number and the square root of the number.
Your test class should:
• Instantiate a NewtonsSquareRoot object using the number 1.
• Print the square root of 1 using the toString method.
• Use a while loop to generate the numbers 2 through 100.
• In the loop use the setNumber and toString methods to find and print the square roots of all the numbers from 2 to 100 inclusive.