A good answer might be:

The answer is given below.


A Working (but useless) Program

With the blanks filled in the program can be compiled and run (perhaps you will try it?) It doesn't do much, but the basic user interaction is complete. One of the aspects of the complete program is finished. Since it is finished you should immediately test it. If something is wrong you can discover the problem and fix it immediately.

import java.io.*;

class evalPoly
{
  public static void main (String[] args ) throws IOException
  {
    BufferedReader userin = 
        new BufferedReader(new InputStreamReader(System.in) );
    
    double x;                      // a value to use with the polynomial
    String response = "y";         // "y" or "n"

    while ( response.equals( "y" ) )    
    {
       // Get a value for x.

       // Evaluate the polynomial.

       // Print out the result.

       // Ask the user if the program should continue.
       // The user's answer is "response".
       System.out.println("continue (y or n)?");

       response = userin.readLine();      
    }

  }
}

Here is an example dialog:

continue (y or n)?
y
continue (y or n)?
y
continue (y or n)?
n

As with all loops, there were three things to get right:

  1. Initializing the loop.
  2. Testing if the loop should continue.
  3. Setting up for the next test.

In order for this loop to work correctly, the initial value of response was initialized to "y".

QUESTION 17:

Why is this loop a sentinel-controlled loop?