gpt4 book ai didi

java - 如果输入了选项之外的内容,如何重复 if 或 switch 语句?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:32 25 4
gpt4 key购买 nike

这大部分会被重复,但我真的不知道如何搜索这个问题,因为它太长太复杂了。提前抱歉!

回到问题,假设我使用 Scanner 类从用户那里获取输入。想象一下,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 语句中,如果输入是 attack 或 defend,我们就跳出循环。如果两者都不是,我们只跳出 switch 语句。

while 循环标有 loop: 标签。这样我们就可以告诉它 break loop; 来跳出循环。另一方面,break 仅从 switch 语句中跳出。

关于java - 如果输入了选项之外的内容,如何重复 if 或 switch 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41318336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com