メソッドbankTellerMenu()は、銀行窓口のメニューを表示し、ユーザーの選択を繰り返し取得し、その選択を実行するためのものです。ユーザーが無効な選択を行った場合にのみメニューが再表示されます。このメソッドには構文エラーと論理エラーがあります。これらのエラーが修正された場合、実際の出力は以下に表示されるものと一致します。 以下の出力を生成してコードを修正し、テストします。私はそれらを際立たせるためにユーザーの反応を強調しました。BankMenuメソッドのエラーを見つける
-------------------------期待される出力------------------- -------
FIT銀行
- 預金
- アカウントメニュー
- クライアントメニューを撤回、終了
オプション(1-5)を選択します。
FIT銀行
- 預金
- クライアントメニュー
- アカウントメニュー
- 出口
オプションのみ1-5
オプション(1-5)を選択しなければなりません:5:)
*呼び出しは、(撤退
は別のオプション(1-5)を選択します
-------------------------予想される出力------------------ --------
今問題が始まりました。メソッドのコーディングを試しましたが、1から5までの値を入力するとwithdraw()や他の選択肢を呼び出せないようです。 ?
import java.util.*;
public class FITBank
{
//There are no errors in the main method.
public static void main(String[] args)
{
//Just run bank teller menu.
bankTellerMenu();
}
public static void bankTellerMenu()
{
Scanner reader = new Scanner(System.in);
int option = 1;
String message = null;
do{
System.out.println("\n\tFIT Bank");
System.out.println("1. Deposit");
System.out.println("2. Withdraw");
System.out.println("3. Client Menu");
System.out.println("4. Account Menu");
System.out.println("5. Exit");
if(message!=null){
System.out.println("\t"+message);
}
System.out.print("Select an option (1-5): ");
option = reader.nextInt();
if(option < 1 || option > 5){
message = new String("Option must be only 1-5");
option=1;
}
}while(option <1 && option > 5);
if(option == 1) {
System.out.println("***\tInvoke deposit()");
}
if(option == 2){
System.out.println("***\tInvoke withdraw()");
}
if(option == 3)
{ System.out.println("***\tInvoke clientMenu()");
}
if(option==4){
System.out.println("***\tInvoke accountMenu()");
}
}
}
この宿題はありますか? – Bernard
この条件は正しいですか? while(オプション> = 1 &&オプション<5);オプションが1と5の間であればプロンプトを表示し続けますか? – kosa
私のプログラミングスキルを向上させる練習のためのその質問@thinksteepああ!私はあなたが私に説明したので、コードで考えるのは本当に難しいように思えます。 – user1313137