私は、書籍ストアのプログラムを作成してビジネスの見積もりに役立てることを約束しています。そのためには、本書のコード、書籍の単価、現在の書籍数、予定されているクラスの登録など、あらゆる種類のインプットをユーザーに尋ねることを想定しています。しかし、私は、ユーザーが入室予定のエントリが無効な場合など、ユーザーが無効なエントリを入力したときに問題に直面しています。Javaでスキャナを使用する際の問題
誰かが私が間違っていることを知るのを助けることができますか?ここに私のコードです。
ありがとうございます。
-Aayush
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Welcome to College Store Sale Class.");
System.out.println("Please enter all the info below as asked.");
System.out.println("Write either 'Continue' or 'Exit' to continue or exit program respectively. ");
double bookCost;
int bookAvailable;
String ending = sc.next();
int prosepectiveEnrollment;
String rOrO;
String nOrU;
while(!ending.equals("exit")){
System.out.print("Please enter the cost of book ($>=0). ");
bookCost = sc.nextDouble();
if(bookCost >= 0){
System.out.print("Please enter the number of books available (n>=0). ");
bookAvailable = sc.nextInt();
if(bookAvailable >= 0){
System.out.print("Please enter prospective class enrollement > 0: ");
prosepectiveEnrollment = sc.nextInt();
if(prosepectiveEnrollment > 0){
System.out.print("Is the book Required or Optional (ignoreCase)? ");
rOrO = sc.next();
if((rOrO.equalsIgnoreCase("Required") || rOrO.equalsIgnoreCase("Optional"))){
System.out.print("Is the book New or Used? Enter in 'N' or 'U' format. ");
nOrU = sc.next();
if((nOrU.equalsIgnoreCase("New") || nOrU.equalsIgnoreCase("Used"))){
System.out.println("Thanks for correct info, below is your result");
}
else{
System.out.println("(E) Please enter either 'New' or 'Used'. ");
}
}
else{
System.out.println("(D) Please enter either 'Required' or 'Optional'. ");
}
}
else{
System.out.println("(C) Number of prospective class enrollement must be > 0.");
}
}
else{
System.out.println("(B) Number of books should be >= 0.");
}
}
else{
System.out.println("(A) Cost should be >= 0. ");
}
}
if(ending.equalsIgnoreCase("exit"))
System.out.println("See ya later..!! Bbyee..");
sc.close();
}
'私はのために働くなら、私に知らせてユーザーが無効な入力を入力したときに直面する問題、誰かが私が間違っていることを見つけ出すのを助けることができるかどうか、私たちは問題を知らないとき何が間違っているか教えてくれません。 – SomeJavaGuy
ユーザが「int」の代わりに「A」を入力した場合、例外がメインからスローされるはずです。それはあなたが見ているものですか? – Scovetta
@Scovettaいいえ、言えば '書籍の費用を入力してください($> = 0)。 ** 1 ** ' '利用可能な書籍の数を入力してください(n> = 0)。 ** 1 ** ' '予定されているクラスの登録を入力してください> 0:** - 1 ** ' ' _(C)予定クラスの登録数は> 0_ でなければなりません。 $> = 0)。 ' 繰り返しのパターンはここにありますか?ユーザーが将来の登録について無効なエントリを持っている場合、同じ質問をするのではなく、再び発生してはならない本のコストを再度入力するよう求めます。 – Aayush