黑马程序员技术交流社区
标题:
求这个题的标准答案
[打印本页]
作者:
申延超
时间:
2012-9-11 12:30
标题:
求这个题的标准答案
本帖最后由 申延超 于 2012-9-13 10:15 编辑
写一个Ticket类,有一个距离属性(只读,在构造方法中赋值),不能为负数,有一个价格属性,
价格属性只读,根据距离计算价格(1元/1公里)
0-100公里 票价不打折
100-200公里 总额打9.5折
200-300公里 打9折
300公里以上 打8折
写一个方法,可以显示这张票的信息
求标准答案
作者:
许庭洲
时间:
2012-9-11 14:42
本帖最后由 许庭洲 于 2012-9-11 15:02 编辑
namespace 计算价格
{
public class Ticket
{
private float distance;
private float price;
public string Distance
{
get
{
return distance;
}
}
public string Price
{
get
{
return price;
}
}
// 得价格
public float getPrice()
{
if(distance>0 && distance< 100)
price = 1*distance;
if(distance>100 && distance< 200)
price = 1*distance*9.5;
if(distance>200 && distance< 300)
price = 1*distance*9.0;
if(distance>300)
price = 1*distance*8.0;
return price;
}
// 构造函数,只用一个属性:姓名
public Ticket(float sDistance)
{
return distance;
}
}
public class MainClass
{
public static void Main()
{
Ticket t1= new Ticket(68.0);
t1.getPrice();
// 打印出票价
Console.WriteLine("这张票的价格信息是:{0}", t1.getPrice());
}
}
}
作者:
卢京
时间:
2012-9-11 14:48
namespace 票价问题
{
public class Ticket
{
public Ticket(int distance) //构造一个Ticket的方法,方法里有一个int类型的变量distance
{
this.distance = distance;
if (distance >= 300)
{
price = distance * 0.8m;
}
else if (distance >= 200 && distance < 300)
{
price = distance * 0.9m;
}
else if (distance >= 100 && distance < 200)
{
price = distance * 0.95m;
}
else if (distance >= 0 && distance < 100)
{
price = distance;
}
else
{// 当输入的数据小于零的时候,出现了异常
throw new Exception("出现异常的代码了,这里的距离不允许是负数...");
}
}
int distance;
public int Distance
{
get { return this.distance; }
}
decimal price;
public decimal Price
{
get { return this.price; }
}
public void ShowTicket()
{
Console.WriteLine("这张票的距离为{0},折后价格为{1}", distance, this.price);
}
}
}
作者:
iamheima
时间:
2012-9-11 14:55
不知道是不是你要的。。。
static void Main(string[] args)
{
double distance;
while (true)
{
distance = double.Parse(Console.ReadLine());
if (distance < 0)
{
Console.WriteLine("距离不得为负数!");
continue;
}
Ticket obj = new Ticket(distance);
obj.PrintInfo();
}
}
-----------------这是Ticket类--------------
class Ticket
{
public Ticket(double distance)
{
this.distance = distance;
if (distance < 100)
price = distance;
else if (distance < 200)
price = distance * 0.95;
else if (distance < 300)
price = distance * 0.9;
else price = distance * 0.8;
}
private double distance;
private double price;
public double Distance
{
get{return distance;}
}
public double Price
{
get { return price; }
}
public void PrintInfo()
{
Console.WriteLine("距离:{0} 价格:{1}", this.distance,this.price);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2