bankTellerMenu()方法旨在顯示銀行出納員菜單並重復獲取用戶的選擇並執行該選擇。如果用戶做出了無效選擇,菜單纔會重新顯示。該方法中存在語法和邏輯錯誤。如果這些錯誤得到糾正,那麼實際輸出將與下面顯示的匹配。 更正代碼並通過產生下面的輸出來測試它。我強調了用戶的反應,使他們脫穎而出。查找BankMenu方法中的錯誤
-------------------------預期輸出------------------- -------
FIT銀行
- 存款
- 撤櫃
- 客戶端菜單
- 帳戶菜單
- 退出
選擇一個選項(1-5):
FIT銀行
- 存款
- 撤櫃
- 客戶端菜單
- 帳戶菜單
- 退出
選項必須只1-5
選擇一個選項(1-5):
*調用退出()
選擇其他選項(1-5):
-------------------------預期輸出------------------ --------
現在問題開始了,我已經嘗試過編碼該方法,但它似乎無法調用withdraw()或任何其他選擇,當我輸入1和5之間的值。有人可以幫助請?
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 2012-04-04 14:53:41
這個條件是否正確? while(option> = 1 && option <5);如果選項介於1和5之間,您是否想繼續提示? – kosa 2012-04-04 14:53:44
其練習題提高我的編程技巧@thinksteep哦!我現在明白你向我解釋過,它在代碼中似乎很難想象。 – user1313137 2012-04-04 15:23:07