当前位置: 首页 > 知识库问答 >
问题:

(Java)带Enter的开关/外壳

桓修能
2023-03-14

我需要有关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之后的下一种情况下,我如何才能得到一个“回车”键。我想要的是,如果用户只按了回车键,那么程序将播放另一个回合。我在考虑做字符串。valueOf(kb.nextLine())但这不起作用。

谢谢你的帮助。

共有3个答案

胡国兴
2023-03-14

对于控制台输入,按enter键将命令发送到标准输入,并且不是可以放入开关的字符。对于您的情况,使用另一个角色(如t)来进行回合可能是最简单的。

如果您要实现一个键侦听器,则可以将Enter键检测为输入,但对于您的程序需求来说,这似乎是矫枉过正的。

编辑:其他回答者提供了更有用的答案!

阎阳
2023-03-14

只需使用空字符串,如:

case "" : System.out.println("Blah, blah, blah...");

或将“”更改为键代码。按ENTER键或仅按13键即可。并将输入从字符串更改为字符。

翟兴邦
2023-03-14

在你的例子中,你应该检查一个空字符串,因为,直接输入实际上会返回一个空字符串到Scanner.nextLine()

    switch (meun)
    {
    case "":
         // Next turn.
    }
 类似资料:
  • C#7引入了一个名为模式的新特性,您可以将其用于Is-Express或Switch案例,如下所示: 你可能会认为它会放在箱子#1里,因为它是同一种类型,但它没有。

  • 判断传感器是否在深色表面上 用法 案例:小台灯 说明:靠近左边的传感器,灯会变成红色;靠近右边的传感器,灯会变成绿色 所需模块:智能电源、双路红外开关

  • 双路红外开关由两对红外光反射式光电开关组成,可以作为两个独立的按钮或用于自动巡线。 净重量:11.2g 体积:24×48×14mm 参数 测量范围:0~2cm 工作电压:DC 5V 抗跌落能力:1.5m 工作温度:-10℃~55℃ 工作湿度:<95%" 注意事项 神经元独占(指在模块化电子积木中,该模块只在神经元中拥有)

  • 好吧,这是一个两部分的问题,我试图最好地解释我的疑问: 代码很简单,用户不断输入成绩,程序会对其进行计数,一旦用户给出EOF条目,程序会在最后显示每个成绩的最终计数。 1) 当我运行代码时,程序会正确地跟踪我输入的每个等级的计数,但总是落在默认情况下,即使输入是正确的!为什么会这样? 2) 因此,我不完全确定“cin.get()”是如何工作的,但如果我是对的,它会接受用户输入的任何内容的第一个字符

  • 我正在编写一个程序,接收用户的出生信息,年、月、日、时、分。该计划如下: 使用< code>getRangedInt方法输入一个人出生的年份(1965-2000)、月份(1-12)、日期*、小时(1-24)、分钟(1-59)。 注意:使用switch()条件选择器结构将用户限制在其出生月份的正确天数内。例如,如果他们出生在2月[1-29]日、10月[1-31]日。提示:这里只有几个组,而不是12个

  • 问题内容: 当您到达Go案例的结尾时,会遇到下一个案例,还是假设大多数应用程序不想失败,会发生什么? 问题答案: 不,默认情况下,Go switch语句不会通过。如果 确实 希望其失败,则必须显式使用“ fallthrough”语句。从规格: 在case或default子句中,最后一个非空语句可以是一个(可能标记为)“ fallthrough”语句,以指示控制权应从此子句的末尾流到下一个子句的第一