Testing the User's Response
In this program,
no special number is suitable as a sentinel because any number is
potential data.
Because of this,
There must be a separate prompt asking if the user wants to continue.
For each iteration of the loop the user will be prompted for two things:
- Whether to continue, and
- A new value for x.
Here is an outline of the program:
class evalPoly
{
public static void main (String[] args ) throws IOException
{
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 program should continue
// the user's answer will be "response"
}
}
}
|
It is often useful to work on one aspect of a program at a time.
So let us just look at the "user prompting and looping" aspect
and temporarily ignore the polynomial evaluation aspect.
This will involve using objects of type String.
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.
- A String object has
both data and methods (as do all objects).
- The data part of response will be the characters that the user types.
- There are several methods for a String object.
The equals( String ) method tests if
two Strings contain the same characters.
response.equals( "y" ) tests if the String response
is equal to the String "y".
- The value of the condition in the while-statement will be
true or false (as always.)
|