我需要有关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())但这不起作用。
谢谢你的帮助。
对于控制台输入,按enter键将命令发送到标准输入,并且不是可以放入开关的字符。对于您的情况,使用另一个角色(如t)来进行回合可能是最简单的。
如果您要实现一个键侦听器,则可以将Enter键检测为输入,但对于您的程序需求来说,这似乎是矫枉过正的。
编辑:其他回答者提供了更有用的答案!
只需使用空字符串,如:
case "" : System.out.println("Blah, blah, blah...");
或将“”更改为键代码。按ENTER键或仅按13键即可。并将输入从字符串更改为字符。
在你的例子中,你应该检查一个空字符串,因为,直接输入实际上会返回一个空字符串到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”语句,以指示控制权应从此子句的末尾流到下一个子句的第一