C#方法和参数

时间:2011-09-13 08:47:32

标签: c#

目前我正在瑞典学习C#中的基础编程基础课程,我对其中一个例子有疑问。在讲座中有一个方法和参数的例子,编码中有一个错误,所以当我想尝试它并看看它做什么时它不起作用。我几天前给讲师发了一封电子邮件,但他没有回应。

这是代码: 我有两节课。首先是Account.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Classes_Objects_2
{
    class Account
    {
        public double Balance = 0;

        public void ShowMessage()
        {
            Console.WriteLine("Welcome to the Account Book!");
        }

        // Method Deposit.
        public double Deposit(double depositAmount)
        {
            // You get a 5% bonus.
            return depositAmount * 1.05;
        }
    }
}

这是第二个返回2个错误的代码:

Class称为Accounts.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Classes_Objects_2
{
    class Accounts
    {
        static void Main(string[] args)
        {
            Account myAccount = new Account();
            myAccount.ShowMessage();
            Console.WriteLine("Your balance is " + myAccount.Balance);
            Console.Write("Enter the deposit amount: ");
            double newBalance = myAccount.Deposit(double.Parse(Console.ReadLine()));
            newBalance = amountDep;
            Console.WriteLine("Your balance becomes " + newBalance);
            Console.Write("Enter the next deposit amount: ");
            newBalance = myAccount.Deposit(double.Parse(Console.ReadLine()));
            newBalance = amountDep;
            Console.WriteLine("Your balance becomes " + newBalance);
        }
    }
}

当用户输入100作为存款时,他获得105存款,然后当他输入200时他获得315.这是我的目标输出,它应该根据讲座工作。

我在Accounts类中因为amountDep而得到错误,它确实无法识别,这是真的,但我不知道如何解决这个问题。能帮我解决这个问题,这样我可以继续学习吗? 谢谢!

6 个答案:

答案 0 :(得分:1)

你没有实例化amountDep或给它一个值

广告

double amountDep = 0; 

或选择值

答案 1 :(得分:1)

您可以声明变量:

double amountDep = 1234;

答案 2 :(得分:1)

只需删除这两行:

newBalance = amountDep;

目前还不清楚这里的目的是什么,还有其他提及的不存在的变量amountDep,所以我要说的是为了得到编译代码,只需删除这两行并继续。< / p>

答案 3 :(得分:0)

我认为amountDep没有必要。无论如何都没有宣布。

可以将其删除,因为newBalance的分配是在amountDep的分配之上完成的。

我猜是一个小小的文字错误!

答案 4 :(得分:0)

您需要更改存款方式以包含“余额+ =存款额* 1.05”以增加帐户余额并存储存款。使用帐户类的“余额”字段检索Main方法中的当前余额(例如Console.WriteLine(“Balance:”+ myAccount.Balance); 注意:您不应使用公共字段,而应使用类属性。字段不应以大写字母命名(如“Balance”),而应以“balance”,“_ balance”或“mBalance”命名。 祝你好运!

答案 5 :(得分:0)

据我所知,执行Deposit方法后余额不会改变。所以我的猜测是,应该将amountDep添加到帐户的余额中,如下所示:

double amountDep = myAccount.Deposit(double.Parse(Console.ReadLine()));
double newBalance = myAccount.Balance += amountDep;
Console.WriteLine("Your balance becomes " + newBalance);
Console.Write("Enter the next deposit amount: ");
amountDep = myAccount.Deposit(double.Parse(Console.ReadLine()));
myAccount.Balance += amountDep;
Console.WriteLine("Your balance becomes " + newBalance);