我已经查看了这个问题的其他答案,但老实说,我不太了解编码以了解他们所说的内容。我在一个介绍课上,并且知道最低限度。我应该制作一个汽车价格计算器,使用方法找出哪些规格被选中以获得汽车的总价格,但继续收到瓷砖中的错误:
没有任何参数符合所需的形式参数
我的代码是:
double totalPrice = 0.0;
//Add each cost
totalPrice += getBasePrice();
totalPrice += getTransmissionPrice();
totalPrice += getWheelsPrice();
totalPrice += getAccessoriesPrice();
//Calculate tax
totalPrice += getTax(totalPrice);
//Display Cost
lblPriceOutput.Text = totalPrice.ToString("C");
}
public double getBasePrice(double typeChoice)
{
typeChoice = 0;
if (rdCar.Checked)
{
typeChoice = 19150;
}
else if (rdTruck.Checked)
{
typeChoice = 29475;
}
else if (rdSUV.Checked)
{
typeChoice = 30595;
}
else if (rdMinivan.Checked)
{
typeChoice = 28155;
}
return typeChoice;
}
答案 0 :(得分:0)
错误:没有给出符合要求的参数 形式参数
此处出现错误:
totalPrice += getBasePrice();
为什么?
因为方法getBasePrice(double typeChoice)
期望在调用方法时传递double类型的值。
如何解决问题?
你可以通过传递一些数据来解决它,但必须是double类型。
示例:
double myValue = 45.67;
totalPrice += getBasePrice(myValue);
目前,我不知道您要将哪些特定数据传递给method参数。但是,上面的解决方案解决了这个问题,因此您所要做的就是将正确的数据传递给方法。
更新
似乎您要做的就是调用方法getBasePrice()
以获取方法中的相应值。在这种情况下,我建议您删除方法参数并根据单击的按钮返回值。
示例:
public double getBasePrice()
{
double typeChoice = 0;
if (rdCar.Checked)
{
typeChoice = 19150;
}
else if (rdTruck.Checked)
{
typeChoice = 29475;
}
else if (rdSUV.Checked)
{
typeChoice = 30595;
}
else if (rdMinivan.Checked)
{
typeChoice = 28155;
}
return typeChoice;
}