C#一段代码没有返回值应怎样修改这段代码

interface Vehicle
{

    double Speed
    {
        get;
        set;
    }
    double Acceleration(double i);
    double Brake();
}
class Car : Vehicle
{
    double speed = 0;

    public double Speed
    {
        get
        {
            return speed;
        }
        set
        {
            speed = value;
        }
    }
    public double Brake()
    {
        Speed = 0;
        Console.WriteLine("当前速度为"+Speed+"自行车已下车");
    }
    public double Acceleration(double i)
    {
        Speed = i * Speed;
        Console.WriteLine("当前速度为:" + Speed);
    }
}
class Bike : Vehicle
{
    double speed = 0;

    public double Speed
    {
        get
        {
            return speed;
        }
        set
        {
            speed = value;
        }
    }
    public double Acceleration(double i)
    {
        Speed = 2 * Speed;
        Console.WriteLine("当前速度为:" + Speed);
    }
    public double Brake()
    {
        Speed = 0;
        Console.WriteLine(Speed);
    }
}
class Program
{
    static void Main(string[] args)
    {
        Car car = new Car();
        Vehicle v1 = car;
        v1.Speed = 10;
        v1.Acceleration(1.2);
        v1.Brake();
        Bike bike = new Bike();
        Vehicle v2 = bike;
        v2.Speed = 10;
        v2.Acceleration(1.2);
        v2.Brake();
        Console.ReadLine();

interface Vehicle
{

    double Speed
    {
        get;
        set;
    }
    double Acceleration(double i);
    double Brake();
}
class Car : Vehicle
{
    double speed = 0;

    public double Speed
    {
        get
        {
            return speed;
        }
        set
        {
            speed = value;
        }
    }
    public double Brake()
    {
        Speed = 0;
        Console.WriteLine("当前速度为" + Speed + "自行车已下车");   //  这里话不通顺,你自行修改吧
        return Speed;                     //   返回了经处理后的速度
    }
    public double Acceleration(double i)
    {
        Speed = i * Speed;
        Console.WriteLine("当前速度为:" + Speed);
        return Speed;                 //   返回了经处理后的速度
    }
}
class Bike : Vehicle
{
    double speed = 0;

    public double Speed
    {
        get
        {
            return speed;
        }
        set
        {
            speed = value;
        }
    }
    public double Acceleration(double i)
    {
        Speed = 2 * Speed;               //        ??  这个方法中,你传入了一个参数 i ,但在方法体中,你没有用到。我怀疑这个语句是不是应该为  Speed = 2*i * Speed;   
        Console.WriteLine("当前速度为:" + Speed);
        return Speed;       //   返回了经处理后的速度
    }
    public double Brake()
    {
        Speed = 0;
        Console.WriteLine(Speed);
        return Speed;      //   返回了经处理后的速度
    }
}
class Program
{

    static void Main(string[] args)
    {
        Car car = new Car();
        Vehicle v1 = car;
        v1.Speed = 10;
        v1.Acceleration(1.2);
        v1.Brake();
        Bike bike = new Bike();
        Vehicle v2 = bike;
        v2.Speed = 10;
        v2.Acceleration(1.2);
        v2.Brake();
        Console.ReadLine();
    }
}

复制这段代码的时候,注意我那句注释行, 就是问你参数 i 为什么没有用到的那行,如果因为这行没有运行通过,就把这两竺汉字删掉。应该是刚接触c#吧,如果还有什么不是太懂的,欢迎讨论

 public double Acceleration(double i)
    {
        Speed = 2 * Speed;
        Console.WriteLine("当前速度为:" + Speed);
    }
返回值是return Speed;
不是Console.WriteLine输出到控制台,那个不算返回值。

还有一个改法
v2.Acceleration(1.2);
你也许希望Acceleration内做完全部的事情,不需要返回。
那么函数定义为void Acceleration,而不是double Acceleration

最后,你的英文该好好学学,一般来说,方法应该用动词,而不是名词
所以这个方法可以叫GetAcceleration或者Accelerate
如果在这里,你想表达速度,可以用velocity(特指移动的速度)或者speed(各种事物发生的速率)
如果是想表达加速度才是acceleration