我正在從事一項練習練習,在我的在線追求中學習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