【发布时间】:2014-02-04 03:29:04
【问题描述】:
我在介绍课上有一个作业,我需要提示用户输入名字、姓氏、出生年份和当前年份。程序需要将信息连同计算的年龄、最大心率(220 - 年龄)和目标心率范围(50% 到 85%)一起输出给用户。我的类应该有一个接收输入数据作为参数的构造函数。每个属性都应该有 get/sets,并且应该有计算年龄、最大心率和目标范围的属性。这就是我到目前为止所拥有的。我想我已经完成了它的要求,但我不确定调用构造函数时要使用什么参数。或者我在这里误解了一个概念。
提前感谢您的任何建议。
using System;
namespace Assignment2
{
public class HeartRates
{
private string firstname;
private string lastname;
private int birthyear;
private int currentyear;
private int age;
private double maxrate;
private double mintarget;
private double maxtarget;
public string Firstname
{
get { return firstname; }
set { firstname = value; }
}
public string Lastname
{
get { return lastname; }
set { lastname = value; }
}
public int Birthyear
{
get { return birthyear; }
set { birthyear = value; }
}
public int Currentyear
{
get { return currentyear; }
set { currentyear = value; }
}
public int Age
{
get { return currentyear - birthyear; }
set { age = currentyear - birthyear; }
}
public double MaxRate
{
get { return 220 - Age; }
set { maxrate = value; }
}
public double MinTarget
{
get { return MaxRate * .5; }
set { mintarget = value; }
}
public double MaxTarget
{
get { return MaxRate * .85; }
set { maxtarget = maxrate * .85; }
}
public HeartRates(string firstname, string lastname, int birthyear, int currentyear)
{
Console.WriteLine("Please enter your first name:");
this.firstname = Console.ReadLine();
Console.WriteLine("Please enter your last name:");
this.lastname = Console.ReadLine();
Console.WriteLine("Please enter your birth year:");
this.birthyear = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Please enter the current year:");
this.currentyear = Convert.ToInt32(Console.ReadLine());
}
}
public class Program
{
public static void Main()
{
HeartRates newheartrates = new HeartRates();
Console.WriteLine("Your name is {0} {1}, you were born in {2}, the current year is {3}", newheartrates.Firstname, newheartrates.Lastname, newheartrates.Birthyear, newheartrates.Currentyear);
Console.WriteLine("Your age is {0}", newheartrates.Age);
Console.WriteLine("Your maximum heart rate is {0}", newheartrates.MaxRate);
Console.WriteLine("Your target heart rate range is from {0} to {1}.", newheartrates.MinTarget, newheartrates.MaxTarget);
}
}
}
【问题讨论】:
-
如果您可以使用Console.Readline() 运行您的程序?您想始终使用 args 吗?
标签: c# constructor call readline