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