替代Java中的goto语句

Aus*_*lay 0 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
Run Code Online (Sandbox Code Playgroud)

我知道这不会编译,所以请不要提及.我知道我可以使用do-while循环,但如果我想要选择执行goto,我还有哪些替代方案?

Mad*_*mer 7

此外,token == "l"不是如何String在Java中进行比较,你想要更喜欢的东西"l".equals(token)

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