当前位置: 首页 > 面试题库 >

如果输入了超出选项的内容,如何重复if或switch语句?

沈子实
2023-03-14
问题内容

这将大部分重复,但是由于它太长且太复杂,我真诚地不知道如何搜索此问题。不好意思!

回到问题所在,假设我从用户那里获得了Scanner类的输入。想象一下,扫描仪已导入并且一切都已设置。

Scanner scan = new Scanner();
String input = scan.nextLine();
switch( input) {
    case "attack":
       System.out.println( "You attacked the enemy!");
       break;

    case "defend":
       System.out.println( "You blocked the enemy!");
       break;

    default:
       System.out.println( "This is not an option!");
       // somehow repeat the process until one of the case options are 
       // entered.
}

在执行案件之前,如何重复请求输入并检查案件的过程?

我可以将其放在while循环中,当输入case选项时,我可以退出while循环,但是当我有很多switch /
if语句都需要扎实的输入才能进行处理时,这似乎太多了。其余代码。有没有办法在Java中更有效地做到这一点?


问题答案:
Scanner scan = new Scanner(System.in);
loop:
while (true) {
    String input = scan.nextLine();
    switch (input) {
        case "attack":
            System.out.println("You attacked the enemy!");
            break loop;

        case "defend":
            System.out.println("You blocked the enemy!");
            break loop;

        default:
            System.out.println("This is not an option!");
            break;
    }
}

while (true)可能会造成无限循环。在switch语句中,如果输入是攻击或防御,我们将跳出循环。如果两者都不是,我们只会跳出switch语句。

while循环用loop:标签标记。这样我们就可以告诉它break loop;打破循环。另一方面break只打破了switch语句。



 类似资料:
  • 我尝试过使用文本溢出:省略号;这种语法但它不起作用,任何人都可以帮助我 Html 我用过的风格

  • 我是Python的新手,我一直在尝试开发一个聊天机器人。这是密码 代码执行完毕后,它就结束了。即使在用户给出输入之后,我如何保持input语句运行?感谢任何帮助。

  • 最初,当今天是星期三或星期四时,我想把地方设置为“A”,否则设置为“B”。但是设计的代码一直返回“A”,尽管今天是“星期六”(14/10/2017)。我怎么能修好它?

  • 问题内容: 扫描仪可用于读取文本文件,用户输入流等。正如上面明确指出的,我专门使用它来读取用户输入。 使用上面我做的Scanner,因为它“骑乘”了System.in,所以在没有下一个输入时对其hasNext()的调用将导致相关线程被阻塞,直到下一个有数据为止,然后再返回true。我想检查一下,getter风格,下一个有数据,而不是像hasNext()返回那样,下一个有数据。 其他问题通过启动一个

  • 我正在尝试通过使用if else条件在我的代码中的textbox上添加验证 我在textbox上添加了focusListener,当我从textbox中删除焦点时,它将检查条件 我还在chekbox旁边创建了一个标签,它将根据条件显示文本 如果textbox中的文本不等于“Hi”,则应在textbox旁边的标签中打印“Hello 否则应打印“再见” 请帮忙

  • 我拥有的是一个简单的,后跟两个子元素,和。 具有固定的高度,应填充剩余的空白空间。这很容易通过实现,但是由于某种原因,我不知道如何使元素溢出,以便在其内容超过网站窗口高度时工作? 这里是一个JSFiddle,如果您设置高度为,您可以看到元素很好地填充了空间,但是当大得多时元素不应该扩展现在的情况我错过了什么? 如果可能的话,我宁愿不使用JavaScript来解决这个问题。