Mic*_*ael 28 python java for-loop if-statement
示例代码:
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'
Run Code Online (Sandbox Code Playgroud)
在Java中,我需要编写更多代码来实现相同的行为:
finishedForLoop = true;
for (int x : rangeListOfIntegers){
if (n % x == 0)
{
//syso: Some printing here
finishedForLoop = false
break;
}
}
if (finishedForLoop == true){
//syso: Some printing here
}
Run Code Online (Sandbox Code Playgroud)
在Java中有没有更好的类似于Python for else循环的实现?
Dog*_*Dog 59
它是这样完成的:
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");
}
}
}
Run Code Online (Sandbox Code Playgroud)
$ javac A.java && java A
13 is a prime number
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 13
当我需要做这样的事情时,如果不需要额外的信息,我通常会尝试将其分解为一个单独的方法 - 然后可以返回true
/ false
或者找到找到的值,如果找不到则返回null.它并不总是有效 - 它是特定于上下文的 - 但它是值得尝试的东西.
然后你可以写:
for (...) {
if (...) {
return separateMethod();
}
}
return null; // Or false, or whatever
Run Code Online (Sandbox Code Playgroud)