1

Do you want to try again (Y/N)?ユーザーが回答として Y/N のどちらも入力しなかった場合、エラーを返して再度質問するにはどうすればよいですか?

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();
                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"));

    }
}

使用する必要がありif-elseますか?

4

2 に答える 2

1

このようなことをします:

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);
于 2011-08-07T10:03:42.440 に答える
1

完全にコンパイル可能なプログラムを提供するための最初の+1。これは、質問者の90%以上が行っています。最後のtry/catchブロックで、ユーザーが次のように「y」または「n」を入力したことを確認します

       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"));
于 2011-08-07T10:08:47.870 に答える