C# While循环C的问题#

C# While循环C的问题#,c#,while-loop,C#,While Loop,我有一个石头剪刀程序,要求你的输入,做出一个随机的cpu输入,比较它们,然后宣布那一轮的获胜者。我试着做一个while循环,当一轮结束时,它会再次播放,直到有人得到3分。一轮结束后,程序似乎就中断了。 我引用了while循环。 谢谢大家! 字符串播放器输入; 字符串cpuInput; int-randomInt; bool play再次=真; int scorePlayer=0; int scoreCPU=0; 而(scorePlayer>3&&scoreCPU>3); { 控制台。书写线(“石

我有一个石头剪刀程序,要求你的输入,做出一个随机的cpu输入,比较它们,然后宣布那一轮的获胜者。我试着做一个while循环,当一轮结束时,它会再次播放,直到有人得到3分。一轮结束后,程序似乎就中断了。 我引用了while循环。 谢谢大家!

字符串播放器输入;
字符串cpuInput;
int-randomInt;
bool play再次=真;
int scorePlayer=0;
int scoreCPU=0;
而(scorePlayer>3&&scoreCPU>3);
{
控制台。书写线(“石头布还是剪刀?”);
playerInput=Console.ReadLine();
playerInput.ToLower();
随机rnd=新随机();
randomInt=rnd.Next(1,4);
开关(随机点)
{
案例1:
cpuInput=“岩石”;
控制台.WriteLine(“CPU选择摇滚”);
如果(playerInput==“摇滚乐”)
{
控制台。WriteLine(“DRAW!”);
}
else if(playerInput==“纸张”)
{
控制台。WriteLine(“玩家赢了!”);
记分员++;
}
否则如果(playerInput==“剪刀”)
{
控制台.WriteLine(“CPU赢了!”);
CPU++;
}
打破
案例2:
cpuInput=“纸张”;
Console.WriteLine(“CPU选择纸张”);
如果(playerInput==“摇滚乐”)
{
控制台。WriteLine(“玩家赢”);
记分员++;
}
else if(playerInput==“纸张”)
{
控制台。WriteLine(“DRAW!”);
}
否则如果(playerInput==“剪刀”)
{
控制台.WriteLine(“CPU赢了!”);
CPU++;
}
打破
案例3:
cpuInput=“剪刀”;
控制台.WriteLine(“CPU选择剪刀”);
如果(playerInput==“摇滚乐”)
{
控制台.WriteLine(“CPU赢了!”);
CPU++;
}
else if(playerInput==“纸张”)
{
控制台。WriteLine(“玩家赢了!”);
记分员++;
}
否则如果(playerInput==“剪刀”)
{
控制台。WriteLine(“DRAW!”);
}
打破
违约:
Console.WriteLine(“无效输入!”);
打破
如果(scorePlayer==3)
{
控制台。WriteLine(“玩家赢了!”);
}
否则,如果(分数CPU==3);
{
控制台.WriteLine(“CPU赢了!”);
}      
}
}
Console.ReadLine();
问题在于:

int scorePlayer=0;
int scoreCPU=0;
而(scorePlayer>3&&scoreCPU>3);
scorePlayer
scoreCPU
都不大于3,因此循环条件失败。结尾的分号是一个空语句。接下来的所有内容都在一个代码块中,但它不是
while
循环的内容

删除分号并更改条件,以允许循环条件最初成功。
例如:

while(scorePlayer<3&&scoreCPU<3)
使用调试器检查变量的内容将有助于您理解循环不工作的原因,一旦条件正确,您将看到它在分号上移动。

问题在于:

int scorePlayer=0;
int scoreCPU=0;
而(scorePlayer>3&&scoreCPU>3);
scorePlayer
scoreCPU
都不大于3,因此循环条件失败。结尾的分号是一个空语句。接下来的所有内容都在一个代码块中,但它不是
while
循环的内容

删除分号并更改条件,以允许循环条件最初成功。
例如:

while(scorePlayer<3&&scoreCPU<3)

使用调试器检查变量的内容将帮助您理解循环不工作的原因,一旦条件正确,您将看到它在分号上移动。

根据您提到的程序描述,它应该一直运行,直到其中一个播放器或CPU有3个点,允许While循环运行,直到满足中断条件

将While循环条件更改为:

while(scorePlayer < 3 && scoreCPU < 3)
while(scorePlayer<3&&scoreCPU<3)

根据您提到的程序描述,它应该一直运行,直到其中一个播放机或CPU有3个点,允许While循环运行,直到它满足中断条件

将While循环条件更改为:

while(scorePlayer < 3 && scoreCPU < 3)
while(scorePlayer<3&&scoreCPU<3)