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?

Original source