我真的在听这个。我是 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;
1 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
所以我实际上在发布后就解决了这个问题。如果其他人需要在这里寻求帮助:
我遇到的问题是由于使用扫描仪方法
variableToAssign = 扫描仪名称.next();
代替
variableToAssign = 扫描仪名称.nextLine();
添加回答
举报
0/150
提交
取消