
臺北捷運公司 104年1月24日新進工程員(二)(資訊類)
甄試試題-程式語言與資料結構
第 1 頁,共 4 頁
注意: 請務必填寫姓名:
1.以下題目應全部作答。 應考編號:
2.科目總分為 100 分。
3.作答時不須抄題目,但請標明題號,並請用藍(黑)色原子筆橫向書寫。
題目:
一、 完成以下 C#程式,使執行之後的結果為:(25 分)
Account frozen
Less zero
More than balance
50
public class LessZero: Exception {
public LessZero():base("Less zero") { }
}
public class MoreBalance : Exception {
public MoreBalance(): base("______________") { } //------------(1)
}
public class BankAccount {
private double m_balance;
private bool __________ = false; //-------------(2)
private BankAccount() { }
public BankAccount(double balance) { m_balance = balance; }
public double Balance { get { return m_balance; } }
public void Debit(double amount) {
if (m_frozen) { throw new Exception("Account frozen"); }
if (amount > m_balance) { throw _______________; } //------------(3)
if (amount _________) { throw new LessZero(); } //------------(4)
m_balance -= amount;
}
public void FreezeAccount() { m_frozen = true; }
}
class Program {
static void f1(BankAccount account, _________________) { //-----------(5)
try {
account.FreezeAccount();
account.Debit(amount);
}
catch (Exception e) { Console.WriteLine(e.Message); }
}