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?
Advertisement
Answer
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