No — the user might want to see the value of the polynomial when x is 0.0. Any other value has the same problem.
In this program, no special number is suitable as a sentinel because any number is potential data. Because of this, there must be a prompt that asks if the user wants to continue, and another prompt that asks for data.
Here is an outline of the program:
class EvalPoly
{
public static void main (String[] args )
{
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".
}
}
}
It is often useful to work on one aspect of a program at a time. Let us first look at the "prompting and looping" aspect and temporarily ignore the polynomial evaluation aspect.
The condition part of the while
statement, response.equals("y")
evaluates to true or false.
Here is how this happens:
response
is a reference to a String object.response
is the characters the user types.response
has an
equals()
method that tests if
another string is equal to it.response.equals("y")
tests if the String response
is equal to the String "y".If the user types "yes" will the program continue?