[問題] 自製atm問題

看板java作者 (Harry)時間8年前 (2016/01/10 00:13), 編輯推噓2(207)
留言9則, 2人參與, 最新討論串1/2 (看更多)
小弟想要在press[5]轉換英文介面 但不管我怎麼研究都無法執行成功 我試圖在default: Break之間 硬塞一個英文介面但都不成功 可能對資料結構不熟 Java新手求教。 不是來這求答案是來求知識 import java.util.Scanner; import java.io.*; public class ATMMachine { public static void checkBalance() { System.out.println("\t您當前餘額為 " + BalanceInquiry.getBalance()); } public static void withdrawMoney() { if(BalanceInquiry.balance==0) { System.out.println("\t您當前的餘額為零."); System.out.println("\t你無法領取!"); System.out.println("\t你需要先存錢。"); } else if(BalanceInquiry.balance<=500) { System.out.println("\t你沒有足夠的錢領取"); System.out.println("\t請檢查您的帳戶餘額是否足夠."); } else if(Withdraw.withdraw > BalanceInquiry.balance) { System.out.println("\t你取款的金額超過您的餘額"); System.out.println("\t請檢查您輸入的金額."); } else { BalanceInquiry.balance = BalanceInquiry.balance - Withdraw.withdra w; System.out.println("\n\t您提取的金額為 NT. " + Withdraw.withdraw); } } public static void depositMoney() { System.out.println("\t你存款的金額為 NT. " + Deposit.getDeposit()); } public static void main(String[] args) { Scanner read = new Scanner(System.in); int select = 0; int choice = 0; System.out.println("================================================== =="); System.out.println("\t歡迎來到這個簡單的ATM機"); System.out.println("================================================== =="); System.out.println(); do {try { do { System.out.println("\t請選擇ATM交易"); System.out.println("\t按[1]存款"); System.out.println("\t按[2]提款"); System.out.println("\t按[3]餘額查詢"); System.out.println("\t按[4]退出"); System.out.println("\t按[5]ENGLISH"); System.out.print("\n\t你的選擇是? "); select = read.nextInt(); if(select>5) { System.out.println("\n\t請選擇正確的交易."); } else { switch (select) { case 1: System.out.print("\n\t輸入的貨幣量以存款: "); Deposit.deposit = read.nextDouble(); BalanceInquiry.balance = Deposit.deposit + Bal anceInquiry.balance; depositMoney(); break; case 2: System.out.print("\n\t要退出,請確保您的帳戶中 有足夠的餘額."); System.out.println(); System.out.print("\t輸入提款金額: "); Withdraw.withdraw = read.nextDouble(); withdrawMoney(); break; case 3: checkBalance(); break; case 4: System.out.print("\n\t交易退出."); break; default: System.out.println("\tPlease select ATM Transacti ons"); System.out.println("\tPress [1] Deposit"); System.out.println("\tPress [2] Withdraw"); System.out.println("\tPress [3] Balance Inquir y"); System.out.println("\tPress [4] Exit"); System.out.print("\n\tWhat would you like to d o? "); select = read.nextInt(); break; } } }while(select>5); do { try { System.out.println("\n\t還有其他交易要執行?"); System.out.println("\n\t按[1]有 按[2]沒有"); System.out.print("\t輸入選擇: "); choice = read.nextInt(); if(choice>2) { System.out.print("\n\t請選擇正確的選擇."); } } catch(Exception e) { System.out.println("\t錯誤輸入!請只輸入數字."); read = new Scanner(System.in); System.out.println("\t輸入您的選擇:"); choice = read.nextInt(); } } while(choice>2); } catch(Exception e) { System.out.println("\t錯誤輸入!請只輸入數字."); read = new Scanner(System.in); System.out.println("\t輸入您的選擇:"); select = read.nextInt(); } }while(choice<=1); System.out.println("\n\t謝謝你使用這個簡單的ATM機器."); } } class Deposit extends ATMMachine { static double deposit; public void setDeposit(double d) { deposit = d; } public static double getDeposit() { return deposit; } } class Withdraw extends ATMMachine { static double withdraw = 0; public void setWithdraw(double w) { withdraw = w; } public static double getWithdraw() { return withdraw; } } class BalanceInquiry extends ATMMachine { static double balance = 0; public void setBalance(double b) { balance = b; } public static double getBalance() { return balance; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.141.87.40 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1452356016.A.4C4.html

01/10 07:33, , 1F
在英文介面中,若輸入的值<=5的話,就會離開迴圈
01/10 07:33, 1F

01/10 07:42, , 2F
我的想法是新增一個boolean變數,預設是true,用來判斷
01/10 07:42, 2F

01/10 07:42, , 3F
呈現介面,預設是中文介面。然後在選項的地方,使用這
01/10 07:42, 3F

01/10 07:42, , 4F
個變數判斷呈現的是中/英文,在default裡把這個變數值設
01/10 07:42, 4F

01/10 07:42, , 5F
為false
01/10 07:42, 5F

01/10 14:21, , 6F
If(select<=5) While(select<=5)
01/10 14:21, 6F

01/10 14:23, , 7F
Boolean status=true. ; System.out.println("status="
01/10 14:23, 7F

01/10 14:23, , 8F
+status);
01/10 14:23, 8F

01/10 14:24, , 9F
像這樣子嗎
01/10 14:24, 9F
文章代碼(AID): #1MaJ6mJ4 (java)
文章代碼(AID): #1MaJ6mJ4 (java)