-4
基本的に私は200以上の馬力を入力すれば解釈するようにしようとしていますが、速度は "BMW" 10で動作しないとうまくいかず、理由が分かりません。馬力が200未満でブランドがBMWでない場合、それは5も増加するはずです。"if"文が私の指示に従わないC#
public string brand;
public string model;
public int hp;
public int speed = 25;
public int GetSpeed()
{
return this.speed;
}
public void SetSpeed(int newspeed)
{
if (speed < 0 || speed > 260)
{
Console.WriteLine("Please input a valid speed");
}
else
{
this.speed = newspeed;
}
}
public string GetBrand()
{
return this.brand;
}
public void SetBrand(string newbrand)
{
this.brand = newbrand;
}
public string GetModel()
{
return this.model;
}
public void SetModel(string newmodel)
{
this.model = newmodel;
}
public int GetHp()
{
return this.hp;
}
public void SetHp(int newhp)
{
this.hp = newhp;
}
public int Accelerate(int step = 10, int new_speed = 5, int hpov = 15)
{
if (hp >= 200)
{
this.speed += hpov;
if (brand == "BMW")
{
this.speed += step;
}
}
else if (brand != "BMW")
{
this.speed += new_speed;
}
return this.speed;
}
}
}
私は開始速度を変えない無限ループを得ます - > http://prntscr.com/gs325g これは "BMW"を入力した場合にのみ発生します。 –