我正在製作一個簡單的ATM,並且遇到了一個問題。無法修改列表
應用:http://pastebin.com/Uk1q5vpC
操縱指令:http://pastebin.com/eG8XWM4w
帳戶:
class Konto
{
public Bankkort bankkort;
private string namn;
public string losenord;
public int pengar;
public Kontoutdrag ku = new Kontoutdrag();
public Konto(Bankkort bk, string n, string l, int p)
{
bankkort = bk;
namn = n;
losenord = l;
pengar = p;
}
public override string ToString()
{
return namn;
}
}
提款:
class Uttagning : Kommando
{
public void Hantera(Konto konto)
{
Console.WriteLine("Du har " + konto.pengar + " kr. Hur mycket vill du ta ut?");
string inmatning = Console.ReadLine();
konto.pengar -= int.Parse(inmatning);
konto.ku.log.Add("Uttagning: " + inmatning);
Console.WriteLine("Nu har du " + konto.pengar + " kr!");
}
}
報表(日誌,顯示何時以及有多少你存入或提取) :
class Kontoutdrag : Kommando
{
public List<string> log = new List<string>();
public void Hantera(Konto konto)
{
for (int i = 0; i < log.Count; i++)
{
Console.WriteLine(log[i]);
}
}
}
我會盡我所能解釋我的問題。我撤回500美元,並希望將其保存到日誌(列表)。如果您在Account
課中查看public Kontoutdrag ku = new Kontoutdrag();
,則每個帳戶都有一個「聲明」/日誌。我修改Withdraw
類中的Hantera
方法中的日誌列表konto.ku.log.Add("Uttagning: " + inmatning);
。但是當在「Statement」/ Log中調用Hantera
方法時,它不會打印出任何東西。
步驟:
--> Call the `Hantera` method in the `Withdraw` class
--> Change the List in the "Statement"/Log class
--> Call the `Hantera` method in "Statement"/Log class
--> Doesn't print out anything
請告訴我,如果你誤解了我,遺憾的命名(這是一個在瑞典)。歡迎您更改此文本和標題。
不應該'Kontoutdrag.Hantera'做'*什麼*與'Konto'你通過? –
我們需要看到「Main」中的代碼 –
@RowlandShaw是的,這是未完成的。 – Diar78