Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 石头,布,剪刀-蓝色疯狂循环_Java_Loops_Bluej - Fatal编程技术网

Java 石头,布,剪刀-蓝色疯狂循环

Java 石头,布,剪刀-蓝色疯狂循环,java,loops,bluej,Java,Loops,Bluej,下面是我在BlueJ中玩石头、布、剪刀游戏的代码。当我编译并且用户输入一个输入时,计算机立即打印playerWins()的大量输出。当用户键入“退出”时,游戏结束。有人能帮我吗?这样我的屏幕就不会被淹没了?(如果有任何方法可以浓缩我的代码,那也太好了) 这两条线就是问题所在: String playerChoice = scan.nextLine(); while (playerChoice.equals("quit") == false) { 你在读一行,然后一遍又一遍地检查那一行。您需要阅

下面是我在BlueJ中玩石头、布、剪刀游戏的代码。当我编译并且用户输入一个输入时,计算机立即打印playerWins()的大量输出。当用户键入“退出”时,游戏结束。有人能帮我吗?这样我的屏幕就不会被淹没了?(如果有任何方法可以浓缩我的代码,那也太好了)


这两条线就是问题所在:

String playerChoice = scan.nextLine();
while (playerChoice.equals("quit") == false) {
你在读一行,然后一遍又一遍地检查那一行。您需要阅读循环中的新行。按照你现在的方式,它只是试图在无限的时间里做出同样的动作

尝试:


这将在每次处理最后一次输入后再次获取用户输入。

您只检查一次用户输入,即在循环之前:

String playerChoice = scan.nextLine();
解决这个问题的一个非常好的方法是:

String playerChoice;
while((playerChoice = scan.nextLine()).equals("quit") == false)
{
    //more code
}

上面的代码所做的是在调用
.equals(“quit”)
之前设置
playerChoice
。如果使用此方法,则不需要在循环末尾再多行设置
playerChoice
,只需在循环的开头设置即可。

中更新
playerChoice
,而(playerChoice.equals(“quit”)==false)
main
中循环
playerChoice=scan.nextLine()-否则,无限循环而不提示其他选择。“帮助我使我的屏幕不会被淹没”是什么意思?你能展示一些输出吗?
String playerChoice = scan.nextLine();
String playerChoice;
while((playerChoice = scan.nextLine()).equals("quit") == false)
{
    //more code
}