我真的在听这个。我是 Java 新手,遇到了最奇怪的事情。
这是家庭作业,我一步一步来。我的问题是循环只是继续并停止要求输入,只是一直循环直到它终止。我的评论主要是针对我自己的。我试图提取导致我的问题的原因并将其张贴在这里。
看看“hatColor”开关,您会注意到我确保用户仅从我分配的选项中输入的方式。我应该使用异常处理程序还是什么?
无论如何,简而言之,问题是如果我输入带有空格的内容,循环会跳过询问我的下一个输入。就像,如果我在第一次提示时向扫描仪输入“yyyyy”,程序将终止并且不给我输入其他内容的机会。
拜托,任何理解这一点的人,我真的很感激你的帮助。
import java.util.Scanner;
public class Testing
{
static String hatColor;
public static void main(String[] args) {
gameStart();
}
public static void gameStart()
{
Scanner userInput = new Scanner(System.in);
boolean keepLooping = true;
int loopCounter = 0;
System.out.println("The game begins. You must choose between 3 different colored hats."
+ " You can type white, black, or gray.");
while (keepLooping == true)
{
hatColor = userInput.next();
switch(hatColor)
{
case "white":
System.out.println("You have chosen the path of well intentioned decisions.");
walletDrop();
//the two items below are only there in case the wallet drop somehow completes without calling another method
keepLooping = false; // stops the while loop from looping again.
break; // breaks out of the switch
case "gray":
System.out.println("You have chosen the path of free will.");
walletDrop();
keepLooping = false;
break;
case "black" :
System.out.println("You have chosen the path of personal gain.");
walletDrop();
keepLooping = false;
break;
慕容3067478
相关分类