本帖最后由 岳珅 于 2013-2-2 12:07 编辑
题目要求是这样的:
写一个Ticket类,有一个距离属性(本属性只读,在构造方法中赋值)
不能为负数,有一个价格属性,价格属性只读,并且根据距离计算价格(1元每公里)
0~~~100公里 票价不打折
101~200公里 总额大9.5折
201~300公里 总额打9折
300公里以上 总额打8折
有一个方法,可以显示这张票的信息
代码一开始调试总是错,后来把ShowInfo里面输出的值改成Distance和Price才行,之前用小写的distance和price都不行,用this指向也还是不行- -- namespace 构造函数
- {
- class Ticket
- {
- public Ticket(int diastance)
- {
- this.distance=diastance;
- }
- private int distance;
- public int Distance
- {
- get {
- if (distance < 0)
- distance =0;
- return distance;
- }
- }
- private double price;
- public double Price
- {
- get
- {
- if (distance < 100)
- price = distance;
- else if (distance >= 100 & distance < 200)
- price = distance * 0.95;
- else if (distance >= 200 && distance < 300)
- price = distance * 0.9;
- else
- price = distance * 0.85;
- return price;
- }
- }
- public void ShowInfo()
- {
- Console.WriteLine("您的票的距离是{0}公里,价格是{1}",Distance,Price);//就是这句不懂。。。。
- }
- }
- }
复制代码 谁能详细解答下。。。ShowInfo里为什么只能用Distance和Price,distance输出也行,是因为Main函数调用时要先给distance赋值。但是price在get中不是也赋值了么?为什么不能输出呢??求解- -真心好纠结。。。
|