如果满足一次值,则停止循环一次
Stop loop once if value is met one time
我有一个 for 循环检查值 % i 的结果。在内部,有一个 if 语句检查值 % i = 0。如果它等于 0,它将 boolean isDivisible 设置为 true。如果它 return 是一个非零值,它会将 isDivisible 设置为 false。问题是,例如,如果值为 12,some attempts will return 0 while some will be nonzero, isDivisible 不断变化不准确。我希望循环在值 % i = 0 时结束。这样的事情可能吗?
for (int i=2; i < value; i++){
if (value % i == 0){
isDivisible = true;
}
else{
isDivisible = false;
}
}
if (isDivisible = true){
System.out.println(value + " is prime");
}
for (int i=2; i < value; i++){
if (value % i == 0){
isDivisible = true;
break;
}
else{
isDivisible = false;
}
}
if (isDivisible = true){
System.out.println(value + " is prime");
}
我想你想使用中断;
休息;停止当前循环的执行并退出它。
for (int i=2; i < value; i++){
if (value % i == 0){
isDivisible = true;
break;
}
else{
isDivisible = false;
}
}
正如您在此处看到的,您不需要第二个 if 语句。
isDivisible = false;
for (int i=2; i < value; i++){
if (value % i == 0){
isDivisible = true;
System.out.println(value + " is divisible");
break;//loop break when divisible
}
}
使用break
当然是标准方式。另一种选择是:
isDivisible = false;
for (int i=2; i < value && !isDivisible; i++){
if (value % i == 0){
isDivisible = true;
}
}
此外,您只需要迭代到 Math.sqrt(value)
。
我有一个 for 循环检查值 % i 的结果。在内部,有一个 if 语句检查值 % i = 0。如果它等于 0,它将 boolean isDivisible 设置为 true。如果它 return 是一个非零值,它会将 isDivisible 设置为 false。问题是,例如,如果值为 12,some attempts will return 0 while some will be nonzero, isDivisible 不断变化不准确。我希望循环在值 % i = 0 时结束。这样的事情可能吗?
for (int i=2; i < value; i++){
if (value % i == 0){
isDivisible = true;
}
else{
isDivisible = false;
}
}
if (isDivisible = true){
System.out.println(value + " is prime");
}
for (int i=2; i < value; i++){
if (value % i == 0){
isDivisible = true;
break;
}
else{
isDivisible = false;
}
}
if (isDivisible = true){
System.out.println(value + " is prime");
}
我想你想使用中断;
休息;停止当前循环的执行并退出它。
for (int i=2; i < value; i++){
if (value % i == 0){
isDivisible = true;
break;
}
else{
isDivisible = false;
}
}
正如您在此处看到的,您不需要第二个 if 语句。
isDivisible = false;
for (int i=2; i < value; i++){
if (value % i == 0){
isDivisible = true;
System.out.println(value + " is divisible");
break;//loop break when divisible
}
}
使用break
当然是标准方式。另一种选择是:
isDivisible = false;
for (int i=2; i < value && !isDivisible; i++){
if (value % i == 0){
isDivisible = true;
}
}
此外,您只需要迭代到 Math.sqrt(value)
。