Return an error when typing neither Y/N
How do i return an error and ask the question Do you want to try again (Y/N)?
again when the user entered neither Y/N as an answer?
import java.io.*;
public class Num10 {
public static void main(String[] args){
String in="";
int start=0, end=0, step=0;
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
do{
try{
System.out.print("Input START value = ");
in=input.readLine();
start=Integer.parseInt(in);
System.out.print("Input END value = ");
in=input.readLine开发者_JAVA技巧();
end=Integer.parseInt(in);
System.out.print("Input STEP value = ");
in=input.readLine();
step=Integer.parseInt(in);
}catch(IOException e){
System.out.println("Error!");
}
if(start>=end){
System.out.println("The starting number should be lesser than the ending number");
System.exit(0);
}else
if(step<=0){
System.out.println("The step number should always be greater than zero.");
System.exit(0);
}
for(start=start;start<=end;start=start+step){
System.out.println(start);
}
try{
System.out.print("\nDo you want to try again (Y/N)?");
in=input.readLine();
}catch(IOException e){
System.out.println("Error!");
}
}while(in.equalsIgnoreCase("Y"));
}
}
Should i be using if-else
?
First +1 for supplying a fully compilable program. That's more than 90% of question askers do. In your final try/catch block, check that the user entered 'y' or 'n' like this
try{
while (!in.equalsIgnoreCase("y") && !in.equalsIgnoreCase("n")) {
System.out.print("\nDo you want to try again (Y/N)?");
in=input.readLine();
}
}catch(IOException e){
System.out.println("Error!");
}
}while(in.equalsIgnoreCase("Y"));
Do something like this:
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
boolean w4f = true;
do {
String in = input.readLine();
if ("Y".equalsIgnoreCase(in)) {
w4f = false;
// do something
} else if ("N".equalsIgnoreCase(in)) {
w4f = false;
// do something
} else {
// Your error message here
System.out.println("blahblah");
}
} while(w4f);
精彩评论