【发布时间】:2018-08-02 12:07:18
【问题描述】:
在解决 java 上的问题时,我发现无法突破 for 循环内的 if 语句,而这个 for 循环在另一个 if 语句内。代码片段如下:
package experment;
public class myclass_2{
public static void main(String[] args){
int t;
int remaining;
boolean is_undertaker_dead = false;
Scanner s = new Scanner(System.in);
System.out.println("hey");
t = s.nextInt();
for(int i=0; i<t; i++)
{
String S = Integer.toString(s.nextInt());
char c[] = S.toCharArray();
for(int j=0; j<c.length; j++)
{
if(c[j]=='2')
{
remaining = c.length-j;
for(int a=j; a<c.length; a++)
{
if(remaining<c.length)
{
remaining=0;
}
if(c[j+remaining]=='1')
{
is_undertaker_dead=true;
break;
}
remaining--;
}
}
}
if(is_undertaker_dead==true)
{
System.out.println("The Streak is broken!");
}
else
{
System.out.println("The streak");
}
}
}
一旦调用了 break 语句,我想在所有 for 循环之外中断。我知道这只是脱离了 if 语句,但循环仍在继续。我也尝试使用我在 stackoverflow 和 google 上找到的 label 方法,但它们不知何故不起作用,让我更加困惑。提前感谢您的支持,这意味着很多!
【问题讨论】:
-
“我试过使用标签方法”——你尝试了什么,怎么没用?
-
@sujatha 执行 return 将退出该方法的其余部分,这可能/可能不是他想要的。他可能只想打破方法中的那部分代码。
-
@CDVAProgrammer 然后他需要将他希望能够从中中断的部分放入一个单独的方法中,以便 return 完全符合他的需要。
标签: java label break goto nested-if