新的C#(到目前为止仅编码一周(试图创建练习程序。似乎无法将我想要存储在" Price1"one_answers" Price2"中的数据。错误是CS0165使用未分配的本地变量" Price1"one_answers" Price2"。
我已经尝试了周围移动代码行并添加返回命令,但我似乎无法弄清楚。
Console.Write("What grocery are you buying: ");
string product1 = Console.ReadLine();
Console.Write("How many are you buying: ");
int quantity1 = Convert.ToInt32(Console.ReadLine());
double price1;
if (product1 == "Steak")
{
price1 = Convert.ToDouble(steak.price * quantity1);
}
if (product1 == "Cheerios")
{
price1 = Convert.ToDouble(cheerios.price * quantity1);
}
if (product1 == "Pepsi")
{
price1 = Convert.ToDouble(pepsi.price * quantity1);
}
if (product1 == "Celeste Pizza")
{
price1 = Convert.ToDouble(celeste.price * quantity1);
}
Console.Write("What second grocery are you buying: ");
string product2 = Console.ReadLine();
Console.Write("How many are you buying: ");
int quantity2 = Convert.ToInt32(Console.ReadLine());
double price2;
if (product2 == "Steak")
{
price2 = Convert.ToDouble(steak.price * quantity2);
}
if (product1 == "Cheerios")
{
price2 = Convert.ToDouble(cheerios.price * quantity2);
}
if (product1 == "Pepsi")
{
price2 = Convert.ToDouble(pepsi.price * quantity2);
}
if (product1 == "Celeste Pizza")
{
price2 = Convert.ToDouble(celeste.price * quantity2);
}
Console.WriteLine(price1 + price2);
试图将数据存储在" Price1"one_answers" Price2"中,以便最后将它们添加在一起。对不起,如果我在这里遇到任何术语。
问题是,如果product1
不等于if
语句中的任何值,那么这些部分都不会运行,因此从理论上讲,price1
可能永远不会有危险给出一个值。而且它不能使用没有值将其添加到其他物质的东西。这就是编译器抱怨的内容。首次将其声明时,您需要给price1
一个默认值,作为后备选项,如果用户输入的东西不是四个预期产品名称之一。
double price1 = 0;
在这种情况下可能还可以,但是您可以选择自己认为最好的价值,只要有某种价值。
您也将与price2
完全相同。
需要初始化"本地变量"的价格1和Price2至您选择的默认值可能是0。
本质上,当您决定获取其和显示其总和时,价格1或价格2将设置为任何东西。