ユーザーはY/Nも入力しなかったとき、エラーを返して質問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
を使用してください。完全コンパイルプログラムを供給するための
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);
は正確には何期待どおりに動作しません。このように入っていることを確認?あなたのコードを見て、すでに関数を実装していますか? – home
@homeはいコードは動作しますが、エラーを表示してから、y/nを入力しても「y/n」の質問は表示されません。ただプログラムを終了します。 – Zhianc