【发布时间】:2018-06-03 15:42:39
【问题描述】:
我的Calories 类中有这个方法,它继承自User 类:
class Calories : User
{
public void CalcuateCaloriesMale()
{
var user = new User();
var equation = (10 * user.Weight) + (6.25 * user.Height) - (5 * user.Age) + 5;
Console.WriteLine("Based on the Mifflin – St Jeor Formula You need to eat {0} Kalories a day\nTo Gain Weight ", equation);
}
}
我在 Program.cs 中有这段代码
if (newGoal.GoalStatusGainWeight == true)
{
var calories = new Calories();
switch (newUser.Gender)
{
case "m":
calories.CalcuateCaloriesMale();
break;
现在我不明白如何让Calories 类知道用户一开始输入的内容。
newUser.Name = Question.AskString("Name: ");
newUser.Age = Question.AskInt("Age: ");
newUser.Gender = Question.AskString("Gender(m/f): ");
newUser.Height = Question.AskInt("Height(cm): ");
newUser.Weight = Question.AskInt("Weight(kg): ");
Calories 类不考虑用户输入的内容。
虽然我可以使用make a new User,但我想我的想法是错误的。
我做错了什么?我怎么能想象这个工作,以便我可以更好地学习它?
【问题讨论】:
-
为什么要新建一个类?为什么不直接创建一个方法(在
User或以User作为参数)?看来您需要阅读基本教程,在您的代码中,newUser和CalcuateCaloriesMale中的user之间存在 no 连接@ -
那我该怎么做?
-
以下行是错误的:var user = new User();。您正在创建 User 类的新实例。您可以使用 this.Name 获取名称或仅使用 Name。