繁体   English   中英

(Java)使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM