2

よくわからないこれら2つの方法を持つプログラムを作成しています。それらは「withdraw」と「deposit」で、CheckingAccount クラスにあります。これらのメソッドでは、最初に値を 0 にしてから追加したいと考えています。次に、新しい数値を取得して減算します。250ドルを「入金」したいです。次に、98 ドルを「引き出し」たいと思います。これらの値をどこに保存し、どのように実行するかがわかりません。出金メソッドと入金メソッドを空のままにしておくと、この最後にディスプレイがどのように見えるかがわかります。

アカウント クラス:

class Account
{
    protected string firstName;
    protected string lastName;
    protected long number;

    public string FirstName
    {
        set
        {
            firstName = value;
        }
    }
    public string LastName
    {
        set
        {
            lastName = value;
        }
    }
    public long Number
    {
        set
        {
            number = value;
        }
    }
    public override string ToString()
    {
        return firstName + " " + lastName + "\nAccount #: " + number;
    }
}
}

アカウント クラスの確認:

    class CheckingAccount : Account
{
    private decimal balance;

    public CheckingAccount(string firstName, string lastName, long number, decimal initialBalance)
    {
        FirstName = firstName;
        LastName = lastName;
        Number = number;
        Balance = initialBalance;
    }
    public decimal Balance
    {
        get
        {
            return balance;
        }
        set
        {
            balance = value;
        }
    }


    public void deposit(decimal amount)
    {
        //initial value should be 0 and should be adding 250 to it.
    }
    public void withdraw(decimal amount)
    {
        //this takes the 250 amount and subtracts 98 from it
    }


    public void display()
    {
        Console.WriteLine(ToString());
        Console.WriteLine("Balance: ${0}", Balance);
    }
}
}

表示クラス:

    class Display
{
    static void Main(string[] args)
    {

        CheckingAccount check = new CheckingAccount("John", "Smith", 123456, 0M);

        Console.WriteLine("After Account Creation...");
        check.display();

        Console.WriteLine("After Depositing $250...");
        //constructor
        Console.WriteLine("After Withdrawing $98...");
        //constructor
    }
}
}

出力を次のようにしたい:

アカウント作成後...
John Smith
アカウント番号: 123456
残高: 0

$250 を入金した後...
John Smith
口座番号: 123456
残高: 250

$98 を引き出した後...
John Smith
口座番号: 123456
残高: 152

4

3 に答える 3

5

簡単な答えは

public void deposit(decimal amount)
{
    balance += amount;
}
public void withdraw(decimal amount)
{
    balance -= amount;
}

必要な検証を自由に追加してください (オーバードロー? マイナスの金額を入金しようとしていますか?)

于 2013-03-04T21:51:02.287 に答える
1

アカウントを作成するには:

Checking Account ca = new Checking Account (John, Smith, 123456, 0);

$ 250を入金するには:

ca.deposit(250);

$ 98を引き出すには:

ca.withdraw(98);

ビジネスの論理:

public void deposit(decimal amount)
{
    balance += amount;
}
public void withdraw(decimal amount)
{
    balance -= amount;
}

他の答えが述べているように、あなたの口座にお金がない(または少ない)ときに、引き出しや引き出しなどのシナリオを検証するのが賢明です!


ボーナス:

GetBalance関数を記述して、入出金を確認することもできます。

public decimal GetBalance(long accountNumber)
{
    return balance;
}

そして、それを使用して呼び出します:

var currentBalance = ca.GetBalance(123456);
于 2013-03-04T21:53:59.220 に答える
1

当座貸越を防ぐために、withdraw メソッドに追加のロジックを提供することをお勧めします。

public void withdraw(decimal amount)
{
    if (balance >= amount)
    {
       balance -= amount;
    }
    else
    {
       Console.WriteLine("You can't withdraw money that you don't have!");
       // or else you could charge an overdraft fee as long as you're within 
       // a certain tolerance (minimum of -1000 or something like that). 
    }
}
于 2013-03-04T22:10:07.190 に答える