C# 无法将所选项目保存在数组的第一个位置
我无法将输入保存到数组中,因此当我输入所有答案,并想查看数组中的内容时,所有点都是空的。这就是自从我把if语句放在那里之后发生的事情。如果删除If语句,输入将保存在数组中,但它将丢失第一个输入,因此24个答案中有23个答案 我也试着写了一个else语句,但缺少的那个语句也有同样的问题,如果我删除整个if语句也是一样的C# 无法将所选项目保存在数组的第一个位置,c#,arrays,if-statement,C#,Arrays,If Statement,我无法将输入保存到数组中,因此当我输入所有答案,并想查看数组中的内容时,所有点都是空的。这就是自从我把if语句放在那里之后发生的事情。如果删除If语句,输入将保存在数组中,但它将丢失第一个输入,因此24个答案中有23个答案 我也试着写了一个else语句,但缺少的那个语句也有同样的问题,如果我删除整个if语句也是一样的 { if (numberOfBottles < 24) { Console.WriteLine("");
{
if (numberOfBottles < 24)
{
Console.WriteLine("");
Console.WriteLine("Write what sodas u want in the crate:"); // Skriver ut text och ber användaren skriva drycken.
int soda_input = 0;
string chosenSoda = "";
do
{
Console.WriteLine("1: Coca-cola"); // skriver ut alternativen för flaska
Console.WriteLine("2: Fanta");
Console.WriteLine("3: Pepsi");
Console.WriteLine("4: Beer");
Console.WriteLine("5: Redbull");
Console.WriteLine("6: Cider");
Console.WriteLine("7: Water");
try
{
soda_input = int.Parse(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine("Just numbers, my friend");
continue;
}
if (chosenSoda == null)**
{
crate[numberOfBottles] = chosenSoda; // lagrar svaren i min vektor
} THIS IS THE IF-STATEMENT THAT IS MESSING EVERYTHING UP
numberOfBottles++; // för varje svar jag skriver så ökar det med 1 i vektorn hela vägen till 24
switch (soda_input) // Skapar en meny, som skriver ut vilken dryck användaren väljer tills backen blir full.
{
case 1:
chosenSoda = "Coca-Cola";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Coca-Cola");
Console.WriteLine("-------------------");
break;
case 2:
chosenSoda = "Fanta";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Fanta");
Console.WriteLine("-------------------");
break;
case 3:
chosenSoda = "Pepsi";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Pepsi");
Console.WriteLine("-------------------");
break;
case 4:
chosenSoda = "Öl";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Öl");
Console.WriteLine("-------------------");
break;
case 5:
chosenSoda = "Redbull";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Redbull");
Console.WriteLine("-------------------");
break;
case 6:
chosenSoda = "Cider";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Cider");
Console.WriteLine("-------------------");
break;
case 7:
chosenSoda = "Vatten";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Vatten");
Console.WriteLine("-------------------");
break;
default: // om man skriver siffror ovanför 1-7 så skrivs detta ut.
Console.WriteLine("-------------------");
Console.WriteLine("Siffor mellan 1-7 min vän");
Console.WriteLine("-------------------");
break;
}
} while (numberOfBottles != 24);
}
else
Console.WriteLine("");
Console.WriteLine("The crate is full, choose some of the alteratives to check the crate:");
Console.WriteLine("");
}
{
如果(瓶数<24)
{
控制台。写线(“”);
Console.WriteLine(“在板条箱中写下你想要的苏打水:”);//Skriver ut text och ber an vändaren skriva drycken。
int soda_输入=0;
字符串chosenSoda=“”;
做
{
Console.WriteLine(“1:可口可乐”);///skriver ut alternative för flaska
控制台。WriteLine(“2:Fanta”);
控制台。WriteLine(“3:百事”);
控制台。WriteLine(“4:啤酒”);
控制台。WriteLine(“5:红牛”);
控制台。WriteLine(“6:苹果酒”);
控制台。写线(“7:水”);
尝试
{
soda_input=int.Parse(Console.ReadLine());
}
捕获(例外e)
{
WriteLine(“只是数字,我的朋友”);
继续;
}
if(chosenSoda==null)**
{
板条箱[NumberOfBaggles]=chosenSoda;//lagrar svaren i min vektor
}这就是把一切都搞砸的IF-STATEMENT
NumberOfVarje svar jag skriver såkar det med 1至24岁
开关(soda_输入)//Skapar en meny,som skriver ut vilken dryck användaren väljer tills backen blir full。
{
案例1:
chosenSoda=“可口可乐”;
Console.WriteLine(“------------------------”;
Console.WriteLine(“杜瓦尔德可口可乐”);
Console.WriteLine(“------------------------”;
打破
案例2:
chosenSoda=“Fanta”;
Console.WriteLine(“------------------------”;
控制台。WriteLine(“Du valde Fanta”);
Console.WriteLine(“------------------------”;
打破
案例3:
chosensorda=“百事”;
Console.WriteLine(“------------------------”;
控制台。WriteLine(“杜瓦尔德百事”);
Console.WriteLine(“------------------------”;
打破
案例4:
chosenSoda=“Öl”;
Console.WriteLine(“------------------------”;
控制台写入线(“Du valdeÖl”);
Console.WriteLine(“------------------------”;
打破
案例5:
chosenSoda=“红牛”;
Console.WriteLine(“------------------------”;
控制台。WriteLine(“Du valde Redbull”);
Console.WriteLine(“------------------------”;
打破
案例6:
chosenSoda=“苹果酒”;
Console.WriteLine(“------------------------”;
控制台。WriteLine(“杜瓦尔德苹果酒”);
Console.WriteLine(“------------------------”;
打破
案例7:
chosenSoda=“Vatten”;
Console.WriteLine(“------------------------”;
控制台。WriteLine(“Du valde Vatten”);
Console.WriteLine(“------------------------”;
打破
默认值://om man skriver SIFFOR ovanför 1-7 såskrivs detta。
Console.WriteLine(“------------------------”;
Console.WriteLine(“Siffor mellan 1-7分钟vän”);
Console.WriteLine(“------------------------”;
打破
}
}while(瓶数!=24);
}
其他的
控制台。写线(“”);
Console.WriteLine(“板条箱已满,请选择一些选项来检查板条箱:”;
控制台。写线(“”);
}
编辑:“Du valde,在瑞典语中表示你选择了.。你在选择任何东西之前分配了数组值 此外,如果输入无效,您可能希望将它们保留在循环中,而不指定值 要做到这一点,您可以在切换之后,但在while语句之前移动if To。通过检查not equal(!=)To null(我认为永远不会是),同时检查not equal To“”,您可以强制他们保持在当前瓶子上并继续输入,直到他们做出有效的选择 试试这个:
do
{
Console.WriteLine("1: Coca-cola"); // skriver ut alternativen för flaska
Console.WriteLine("2: Fanta");
Console.WriteLine("3: Pepsi");
Console.WriteLine("4: Beer");
Console.WriteLine("5: Redbull");
Console.WriteLine("6: Cider");
Console.WriteLine("7: Water");
try
{
soda_input = int.Parse(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine("Just numbers, my friend");
continue;
}
switch (soda_input) // Skapar en meny, som skriver ut vilken dryck användaren väljer tills backen blir full.
{
case 1:
chosenSoda = "Coca-Cola";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Coca-Cola");
Console.WriteLine("-------------------");
break;
case 2:
chosenSoda = "Fanta";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Fanta");
Console.WriteLine("-------------------");
break;
case 3:
chosenSoda = "Pepsi";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Pepsi");
Console.WriteLine("-------------------");
break;
case 4:
chosenSoda = "Öl";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Öl");
Console.WriteLine("-------------------");
break;
case 5:
chosenSoda = "Redbull";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Redbull");
Console.WriteLine("-------------------");
break;
case 6:
chosenSoda = "Cider";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Cider");
Console.WriteLine("-------------------");
break;
case 7:
chosenSoda = "Vatten";
Console.WriteLine("-------------------");
Console.WriteLine("Du valde Vatten");
Console.WriteLine("-------------------");
break;
default: // om man skriver siffror ovanför 1-7 så skrivs detta ut.
Console.WriteLine("-------------------");
Console.WriteLine("Siffor mellan 1-7 min vän");
Console.WriteLine("-------------------");
break;
}
if (chosenSoda != null && chosenSoda != "")
{
crate[numberOfBottles] = chosenSoda; // lagrar svaren i min vektor
numberOfBottles++;
}
} while (numberOfBottles != 24);
您已经对null进行了检查,如果chosedSoda不为null,则代码将不会进入内幕
if(chosenSoda==null)**{cratet[numberofflags]=chosenSoda;//lagrar svaren i min vektor}
我想你应该把它放进去!=你可能想在决定了所选内容后将值分配给数组。非常感谢你。上帝保佑你,正如你所看到的,我是新手