作者: 岳珅 时间: 2013-2-19 23:12
你的问题错在主函数l里t.JuLi=233;
你这里,把233的值给了ticket类中的JuLi,然后你误以为juli的值也直接是233了,所以才回导致这个错误。
你把233给JuLi以后,要juli=value以后才是把值传给了juli了,我写的代码里,就多加了一个Ticket(int diastance)方法,用来传参0.0这样的话,你的juli才方便判断和赋值。
可能我说的不是太清楚- -哪里不明白,再点回复,问我- -大家共同进步!作者: 王立 时间: 2013-2-20 07:53
if (value <0)
if (juli<0)
这里应该是value,类的字段juli默认值是0的,如果用juli ,永远在 else if (value <100) 这里
class Program
{
static void Main(string[] args)
{
Ticket t = new Ticket();
t.Juli = 233;
Console.WriteLine(t.Juli); //221.35
}
}
class Ticket
{
private double juli;
public double Juli
{
get { return juli; }
set
{
if (value <0) //这里用value
{
juli = value;
}
else if (value <100) //这里用value
{
juli = value;
}
else if (value >=100&&value <=500)
{
juli =value *0.95;
}
else
{
juli = value * 0.85;
}
}
}
} 作者: 康晓璞 时间: 2013-2-20 08:35
王立 发表于 2013-2-20 07:53
if (value
class Ticket
{
private double juli;
public double Juli
{
get { return juli; }
set
{
if (value < 0) //这里用value
{
// juli = value;
juli = 0;//在value小于0时,是不是将juli的值设为0合适?
}
else if (value < 100) //这里用value
{
juli = value;
}
else if (value >= 100 && value <= 500)
{
juli = value * 0.95;
}
else
{
juli = value * 0.85;
}
}
}
}作者: 王立 时间: 2013-2-20 08:48
康晓璞 发表于 2013-2-20 08:35
class Ticket
{
private double juli;