ユーザーからの入力を要求するコードがありますが、うまく動作しますが、実行を継続する代わりに有効な応答を入力するよう再入力する必要があります。ここでJavaで有効な入力を再入力するユーザー
コードです:ユーザー入力のゴールド場合
import java.io.*;
public class SkiLodge {
public static void main(String[] args) throws Exception
{
InputStreamReader ui = new InputStreamReader (System.in);
BufferedReader inputReader = new BufferedReader(ui);
System.out.println("Select Membership Type: (Gold/Silver/Bronze)");
String membership = inputReader.readLine();
double x = 0d;
if (membership.equals("Gold"))
System.out.println("Gold Membership Selected: £" + (x = 750));
else if (membership.equals("Silver"))
System.out.println("Silver Membership Selected: £" + (x = 450));
else if (membership.equals("Bronze"))
System.out.println("Bronze Membership Selected: £" + (x = 250));
else System.out.println("Invalid Membership");
System.out.println("Do you require snow tyre rental? (yes/no)");
String tyreRental = inputReader.readLine();
if (tyreRental.equals("yes"))
System.out.println("The total so far with tyre rental: £" + (x = x * 1.1));
else if (tyreRental.equals("no"))
System.out.println("The total so far without tyre rental: £" + x);
else System.out.println("Invalid response");
System.out.println("Would you like to reserve parking? (yes/no)");
String parking = inputReader.readLine();
if (parking.equals("yes"))
System.out.println("Membership total: £" + (x = x * 1.08));
else if (parking.equals("no"))
System.out.println("Membership total: £" + x);
else System.out.println("Invalid response");
}
}
は、例えばだから、それが無効の会員を出力し、有効なものを要求されていない場合、プログラムは、750を出力します。
次の質問でも同じです。プログラムは有効な応答としてyesとnoのみを受け入れます。
ありがとうございます。