Java:带标签的中断

JVX*_*JVX 3 java break

我正在网上进行 Java 学习练习,结果被难住了!

我的程序的要点是我让用户通过输入单个字符来选择一个选项,然后程序根据该值继续处理案例。如果执行默认情况,则意味着输入无效,我想返回到用户输入提示。

我最初的想法是使用“goto”,但是根据我的理解,除了我之外阅读代码的任何人都可能会用石头砸死我。还有一个事实是,Java 中不存在 goto...因此,在 Google 搜索时,我发现了“标记中断”。它看起来正是我所需要的。然而,我插入标签的位置无法识别,即使它与案例属于同一类。我该怎么做呢?

String newLine = System.getProperty("line.separator");

  restart:

  System.out.println("Please select the type of shape you wish to calcuate information for: "
  + newLine + "A: Square" + newLine + "B: Rectangle" + newLine + "C: Circle");

  char typeShape = input.next().charAt(0);

  String shape = Character.toString(typeShape);

  switch (shape.toLowerCase()) {
      case "a": 
          //do something
          break;
      case "b":
          //do something
          break;
      case "c":
          //do something
          break;
      default:
          System.out.println("Invalid selection. Please re-enter shape.");
          break restart;
  }
Run Code Online (Sandbox Code Playgroud)

Ell*_*sch 5

我相信你想标记一个块。就像是

restart: {
    System.out.println("Please select the type of shape you wish to calculate "
      + "information for: " + newLine + "A: Square" + newLine + "B: Rectangle"
      + newLine + "C: Circle");

    char typeShape = input.next().charAt(0);

    String shape = Character.toString(typeShape);

    switch (shape.toLowerCase()) {
    case "a": 
        //do something
        break;
    case "b":
        //do something
        break;
    case "c":
        //do something
        break;
    default:
        System.out.println("Invalid selection. Please re-enter shape.");
        break restart;
    }
}
Run Code Online (Sandbox Code Playgroud)