小明与小美都喜欢跑步,为了更好的控制体重,他们想要定制一个程序。实现以下功能:小明体重75kg,小美体重45kg,一天跑步一次(一天最多只能跑步一次)能减掉0.5kg,一天不跑步增加0.5kg,用户输入天数和跑步次数就能得到小明和小美新的体重数值。请用C#中类和对象的方式实现。
时间: 2024-10-12 19:12:30 浏览: 44
我们可以创建两个类,`Runner` 和 `WeightController`,分别表示跑步者的基本信息和体重管理。`Runner` 类包含姓名和初始体重属性,而 `WeightController` 类则负责计算每日体重变化并返回新体重。
```csharp
public class Runner
{
public string Name { get; set; }
private double initialWeight;
// 构造函数
public Runner(string name, double weight)
{
Name = name;
initialWeight = weight;
}
// 计算每天的体重变化
public double CalculateDailyWeightChange(int runDays)
{
return runDays > 0 ? -0.5 : 0.5;
}
public double GetCurrentWeight(int runDays)
{
return initialWeight + CalculateDailyWeightChange(runDays);
}
}
public class WeightController
{
private readonly Runner[] runners = { new Runner("小明", 75), new Runner("小美", 45) };
// 根据用户输入获取指定跑步者的当前体重
public double GetNewWeight(string playerName, int runDays)
{
foreach (Runner runner in runners)
{
if (runner.Name == playerName)
return runner.GetCurrentWeight(runDays);
}
throw new ArgumentException($"找不到名为'{playerName}'的跑步者");
}
}
```
这样,你可以通过 `WeightController` 对象来控制小明和小美的体重:
```csharp
WeightController controller = new WeightController();
int daysToTrack = 7;
int runsPerDay = 1;
Console.WriteLine($"小明的新体重是: {controller.GetNewWeight("小明", daysToTrack)} kg");
Console.WriteLine($"小美的新体重是: {controller.GetNewWeight("小美", daysToTrack)} kg");
```
阅读全文
相关推荐















