[問題] 自製atm問題

作者: HarryWen (Harry)   2016-01-10 00:13:33
小弟想要在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;
}
}
作者: icydream (巧虎)   2016-01-10 07:33:00
在英文介面中,若輸入的值<=5的話,就會離開迴圈我的想法是新增一個boolean變數,預設是true,用來判斷呈現介面,預設是中文介面。然後在選項的地方,使用這個變數判斷呈現的是中/英文,在default裡把這個變數值設為false
作者: HarryWen (Harry)   2016-01-10 14:21:00
If(select<=5) While(select<=5)Boolean status=true. ; System.out.println("status="+status);像這樣子嗎

Links booklink

Contact Us: admin [ a t ] ucptt.com