开发者

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);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜