我需要有关switch的帮助,这是我需要帮助的代码的一部分。
Scanner kb = new Scanner(System.in);
do
{
System.out.println("\nAt each turn, type: ");
System.out.println("P to print");
System.out.println("M to mix (shuffle the cards)");
System.out.println("S to save");
System.out.println("Q to quit");
System.out.println("Just ENTER to play a turn");
meun = kb.nextLine();
switch (meun)
{
case ("P"):
case ("p"): System.out.println("\nPlayer1 cards: " + p1.toString());
//More Codes...
case (//Would like to have an ENTER here.):
如何在P之后的下一个案例中获得“输入”。我想要的是,如果用户只是按下Enter键,那么程序将再次播放。我在考虑做String.valueOf(kb.nextLine())
,但这不起作用。
感谢您的帮助。
答案 0 :(得分:4)
在您的情况下,您应该检查en 空字符串,因为只需输入实际上会将空字符串返回Scanner.nextLine()
。
switch (meun)
{
case "":
// Next turn.
}
答案 1 :(得分:2)
只需使用空字符串,例如:
case "" : System.out.println("Blah, blah, blah...");
或者将“”更改为KeyCodes.KEY_ENTER或只有13才能正常工作。 并将输入从String更改为char。
答案 2 :(得分:1)
对于控制台输入,按Enter键会将命令发送到标准输入,也不是可以放在switch
中的字符。对于你的情况,最简单的方法是使用t
之类的其他角色进行转弯。
如果您要实现key listener,则可以将输入键检测为输入,但这似乎对您的程序需求来说是过度的。
编辑:其他的回答者已经提供了更有用的答案!