【发布时间】:2017-05-16 15:11:29
【问题描述】:
我有用于完成 Project Euler 任务之一的当前代码:
public static void mod(int value){
int[] modValues = {11,12,13,14,15,16,17,18,19,20};
int y = 0;
for(int x = 0; x < 10; x++){
int originalValue = value;
int modSum = value % modValues[x];
if(modSum == 0){
y += 1;
if(y == 10){
System.out.println(originalValue);
break;
}
}
}
}
public static void main(String[] args) {
final long startTime = System.nanoTime(); //<<<ignore//
int x;
for(x = 0; x < Integer.MAX_VALUE; x++){
mod(x);
}
}
现在我的问题是,一旦从方法中找到第一个值 (232792560),如何让整个程序中断。我目前在if(y == 10){ break;} 的休息时间没有这样做。
【问题讨论】:
-
print发生了吗,你的代码是否达到了break语句? -
如果它在另一个方法中,你不能打破外循环。鉴于您有 3 行长的 main 方法,只是内联 mod 方法。然后您可以标记外循环
outer: for(x = 0; x < Integer.MAX_VALUE; x++){并将您的break;更改为break outer;。 -
主函数内部的for循环是什么
-
如果你想终止整个程序,可以使用
System.exit(0);