我正在从事一项练习练习,在我的在线追求中学习Java并难倒了!Java:Labeled Break
我的程序的要点是我有用户通过输入一个字符选择一个选项,然后程序继续基于值的情况。如果默认情况下执行,这意味着输入无效,我想然后返回到用户输入提示。
我最初的想法是使用'goto',然而从我所了解的情况来看,除了阅读代码之外,我可能会被任何人用石头打死。然后有一个事实,goto不存在于Java中...所以,当谷歌搜索,我发现'标记休息'。它看起来就像我所需要的。然而,我已经插入标签的位置是无法识别的,即使它与案例在同一班级。我应该如何去做这件事?
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;
}
@JVX一个更好的方法将是使用某种类型的循环再标签。 – YoungHobbit
真棒,感谢您的快速回复!这有助于了解标记的休息时间。然而...当我实现这个并测试它时,程序在达到这个中断后结束,而不是循环回到标签。这是为什么发生? – JVX
@JVX。是。你从标签上“破碎”。基本上它会从break语句提供的标签中出来。 – YoungHobbit