java - Java 中 goto 语句的替代方案

标签 java goto

好吧,所以我确信这个问题已经被打败了,但我仍然找不到我的项目所需的答案。

我正在用 java 构建一个赌场游戏套件(我 110% 确信有更好、更简单的语言,但我现在正在学习 java,我想用 java 编写代码实践。) 我的问题是我不知道如何构建我的代码。我习惯使用 goto 语句(我从小型基础开始学习编码)。例如:

import java.util.*;

public class CasinoGames
{
  public static void main(String[] args)
  {
    Scanner keys = new Scanner(System.in);
    sopln("Hello, and welcome to Casino Games!");
    sopln("Would you like to login, register, or play as a guest?");
    char token = keys.nextLine().toLowerCase().charAt(0);
    randomlabelhere:
    if (token == "l")
      User.login();
    else if (token == "r")
      User.register();
    else if (token == "g")
      User.guestLogin();
    else
      sopln("Invalid Choice, please try again!");
      goto somerandomlabel

我知道这不会编译,所以请不要提及。我知道我可以为此使用 do-while 循环,但如果我想要执行 goto 的选项,我还有什么选择?

最佳答案

此外,token == "l" 并不是 Java 中 String 比较的工作方式,您想要更像 "l".equals(token )

此外,token 是一种 char 类型,因此它应该更像 token == '1',但你可以逃脱使用 String 和使用 token.trim().startsWith("1"),但您需要测试 null结果

关于java - Java 中 goto 语句的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28687360/

相关文章:

Java 8 lambda表达式多次更改Collection

java - 多线程 Swing 事件调度程序线程

c99 转到过去的初始化

c# - 绕过标记语句

java - String get/set 是线程安全的吗?

Java:字符串格式化

java - 文件在android中不存在?

C++ 转到变量

C 循环和转到

c++ - 调用函数并使用 goto : memory leak? 将其转义