Efficient implementation for: "Python For Else Loop" in Java
for-loop, if-statement, java, python
Solution
It's done like this:
class A {
public static void main(String[] args) {
int n = 13;
found: {
for (int x : new int[]{2,3,4,5,6,7,8,9,10,11,12})
if (n % x == 0) {
System.out.println("" + n + " equals " + x + "*" + (n/x));
break found;
}
System.out.println("" + n + " is a prime number");
}
}
}
$ javac A.java && java A
13 is a prime number
Problem
In Python there is an efficient `for .. else` loop implementation described here Example code: ``` for x in range(2, n): if n % x == 0: print n, 'equals', x, '*', n/x break else: # loop fell through without finding a factor print n, 'is a prime number' ``` In Java I need to write more code to achieve the same behavior: ``` finishedForLoop = true; for (int x : rangeListOfIntegers){ if (n % x == 0) { //syso: Some printing here finishedForLoop = false break; } } if (finishedForLoop == true){ //syso: Some printing here } ``` Is there any better implementation similar to Python `for .. else` loop in Java?