
[英]How to use switch case in java such it accepts the character without pressing enter?
[英](Java) Switch/Case With Enter
我需要有关开关的帮助,这是我需要帮助的部分代码。
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())
但这不起作用。
谢谢您的帮助。
在您的情况下,您应该检查一下是否为空字符串,因为“ 只需输入”实际上将向Scanner.nextLine()
返回一个空字符串。
switch (meun)
{
case "":
// Next turn.
}
只需使用一个空字符串,例如:
case "" : System.out.println("Blah, blah, blah...");
或将“”更改为KeyCodes.KEY_ENTER或只应使用13。 并将输入从String更改为char。
对于控制台输入,按Enter键会将您的命令发送到标准输入,也不是您可以在switch
放置的字符。 对于您的情况,使用诸如t
另一个角色进行转弯可能是最简单的。
如果要实现键侦听器,则可以将Enter键检测为输入,但这似乎对于程序的需求来说是过大的。
编辑:其他答复者提供了有用的答案!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.