You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:修复C#控制台输出不符问题(Program.cs与Car类作业)

搞定你的C#作业速度输出问题

嘿,看你的输出和预期差了一截,咱们来捋捋怎么调整:

首先,核心差异很明确:你的福特Focus当前速度是20,要到28(差8);雪佛兰Cruze是0,要到18(差18)。大概率是你没给这俩车调用加速相关的方法,或者加速的逻辑没写对。

给你几个具体的排查和修改方向:

  • 先检查你的Car类:有没有写修改速度的方法?比如无参的Accelerate()(固定每次加8),或者带参数的Accelerate(int addSpeed)(自定义增量)?如果是前者,Focus只要调用1次;如果是后者,给Cruze传18当参数就行。
  • 再看Program.cs里的代码:是不是创建完Car实例就直接输出了?得在输出前调用加速方法才行!举个实际的代码例子:
    // 先创建两个车的实例
    Car car1 = new Car(2010, "Ford", "Focus", 20);
    Car car2 = new Car(2018, "Chevy", "Cruze", 0);
    
    // 关键步骤:调用加速方法调整速度
    car1.Accelerate(8); // 如果是带参数的方法,给Focus加8
    car2.Accelerate(18); // 给Cruze加18
    
    // 然后再执行输出
    Console.WriteLine($"{car1.Year} {car1.Make} {car1.Model} is going {car1.Speed} MPH.");
    Console.WriteLine($"{car2.Year} {car2.Make} {car2.Model} is going {car2.Speed} MPH.");
    
  • 另外要注意:如果你的Car类里Speed属性是private set(也就是封装起来不让直接修改),那你必须用类里定义的方法来调整速度,不能直接写car1.Speed +=8这种代码。

要是你的Car类还没写加速方法,补上类似这样的代码就行:

public class Car
{
    // 你的其他属性:Year、Make、Model等
    public int Speed { get; private set; }

    // 构造函数(这里省略你已经写好的部分)
    public Car(int year, string make, string model, int initialSpeed)
    {
        Year = year;
        Make = make;
        Model = model;
        Speed = initialSpeed;
    }

    // 带参数的加速方法,灵活调整增量
    public void Accelerate(int amount)
    {
        Speed += amount;
    }

    // 或者写个固定加8的无参方法,看作业要求选择
    public void Accelerate()
    {
        Speed += 8;
    }
}

这样调整完,控制台输出应该就和预期完全一致啦!

内容的提问来源于stack exchange,提问作者Z. Josh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:06:50