3

C#コースの預金と引き出しを追跡する銀行口座アプリケーションを作成しようとしています。

私が抱えている問題は、アカウントの残高がリセットされているようです(または何か)。

数値を入力してボタンをクリックすると、(おそらく)残高に追加され、テキストボックスに表示されます。残念ながら、数字を入力すると、数字自体がテキストボックスに表示されます。どうしてか分かりません。

私のコードは以下の通りです:

namespace Assign11
{
using System;

public class BankAccount
{
    private double inValue;
    private double accountBalance;

    public BankAccount()
    {
    }

    public BankAccount(double input)
    {
        inValue = input;
        Deposit();
    }

    public double Invalue
    {
        set
        {
            inValue = value;
        }
        get
        {
            return inValue;
        }
    }

    public double AccountBalance
    {
        get
        {
            return accountBalance;
        }
        set
        {
            accountBalance = value;
        }
    }

    public void Deposit()
    {
        accountBalance = accountBalance + inValue;
    }
  }
}

次のフォームもあります。

namespace Assign11
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void btn_deposit_Click(object sender, EventArgs e)
    {            
        double input;
        input = double.Parse((putin.Text));

        BankAccount anAccount = new BankAccount(input);

        output.Text = anAccount.AccountBalance.ToString();        
    }
  }
}
4

1 に答える 1

5

BankAccountこれは、ボタンをクリックするたびにオブジェクトをインスタンス化するためです。そのため、AccountBalance は常にゼロから始まり、加算されません。

BankAccountバランスが保たれるように、オブジェクトをクラス スコープで宣言します。Deposit預金額を受け入れ、その値を使用して口座残高に追加されるように関数を変更します

于 2013-03-08T03:04:56.130 に答える