簡體   English   中英

如何將特定行存儲在數組中的文本文件中(即 2 個單獨的銀行帳戶)

[英]How to store specific lines in a text file in a array (i.e 2 seperate bank accounts)

我正在為我的計算機科學 class 做一個 ATM 項目,我們需要制作一個 ATM 來存儲和讀取文本文件中的帳戶。 我一直在試圖弄清楚如何在程序中獲取一個數組來存儲文本文件中的 4 行(帳號、姓名、NIP 和總余額),並在用戶輸入正確的帳號時能夠訪問它們。

RBC001 (Account Number)
Ariel Bendahan (Name)
1337 (NIP)
50000 (Total Balance)
RBC002 (Same thing but second account)
John Baker (...)
6868 (...)
2500 (...)

^ 這是供參考的文本文件。

我試圖制作一個數組來存儲所有銀行賬戶BankAccount[] tabBankAccounts = new BankAccount[200]; (有問題的數組)但我只是不知道如何在數組的每個索引中准確地存儲 4 行代碼。

StreamReader myfile = new StreamReader("AccountInfo.txt");
            Int16 i = 0;
            while (myfile.EndOfStream == false)
            {
                tabBankAccounts[i].AccountNumber = myfile.ReadLine();
                tabBankAccounts[i].Name = myfile.ReadLine();
                tabBankAccounts[i].NIP = Convert.ToInt16(myfile.ReadLine());
                tabBankAccounts[i].TotalBalance = Convert.ToInt32(myfile.ReadLine());
            }
            myfile.Close();

^ 閱讀文本文檔的編程。

這更像是我第一個問題的延續,所以如果我最近的帖子感覺像垃圾郵件,我很抱歉。

當您使用BankAccount[] tabBankAccounts = new BankAccount[200]; ,數組中的所有元素仍然是 null,這意味着首先您必須為每個銀行賬戶創建一個實例,以便設置 AccountNumber 等。

基本上是這樣的:

            StreamReader myfile = new StreamReader("AccountInfo.txt");
            Int16 i = 0;
            while (myfile.EndOfStream == false)
            {
                BankAccount bankAccount = new BankAccount();

                bankAccount.AccountNumber = myfile.ReadLine();
                bankAccount.Name = myfile.ReadLine();
                bankAccount.NIP = Convert.ToInt16(myfile.ReadLine());
                bankAccount.TotalBalance = Convert.ToInt32(myfile.ReadLine());

                tabBankAccounts[i] = bankAccount;
                i++;
            }
            myfile.Close();

你也忘了在每次迭代后增加i ,這意味着你只能設置第一個銀行賬戶的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM