私はJavaを数週間しか学んでいないので、あなたの多くがこの問題を解決することが大変簡単です。それは私の脳をスクランブルしています。ここで基本的なJavaの練習 - 助けが必要
は「オンラインブックデポは5冊以上の本をご購入いただくとプレミアム顧客に1冊の無料の本を提供していますし、8冊以上の本をご購入いただくと2冊の無料の書籍を提供しています命令です。 それは定期的にお客様に付き1冊の無料の本を提供しています12冊以上の書籍を購入するたびに2冊の無料書籍を提供する ブール変数isPremiumCustomerとint変数nbooksPurchased "の値に基づいて、freeBooksに適切な値を割り当てるコードブロックを記述する
コードはエラーなしでコンパイルされますが、結果は間違っています...ヘルプ!
boolean isPremiumCustomer = false;
int freeBooks = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the no of books:");
int nbooksPurchased = scanner.nextInt();
System.out.println("is Premium customer?(y/n):");
String ans = scanner.next();
if (ans.equals("y") || ans.equals("Y") && (nbooksPurchased >4 && (nbooksPurchased <8))) {
isPremiumCustomer = true;
freeBooks = 1;
}else if (ans.equals("y") || ans.equals("Y") && (nbooksPurchased >=8)) {
isPremiumCustomer = true;
freeBooks = 2;
}else if (ans.equals("n") || ans.equals("N") && (nbooksPurchased >=7 && (nbooksPurchased <=11))) {
freeBooks = 1;
}else if (ans.equals("n") || ans.equals("N") && (nbooksPurchased >=12)){
freeBooks = 2;
}
System.out.println("Free Books:" + freeBooks);
定義する*「結果が正しくありません」*。入力と(誤った)出力は何ですか?また、デバッガを使用して最初に実行する必要があります。最後に、フローを少し変更しようとお勧めします。入力のチェックを 'nbooksPurchased'のチェックから分離してください。 – UnholySheep
あなたのコードをデバッグして、期待していたものと違うところを確認しようとしましたか? – n247s
期待した結果は何ですか?あなたが得た結果は何ですか? –