有效的实现:“Python for Else Loop”在Java中 [英] Efficient implementation for: "Python For Else Loop" in Java

查看:141
本文介绍了有效的实现:“Python for Else Loop”在Java中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Python中,有一个高效的else循环实现描述


示例代码:

  for x in range(2,n):
if n%x == 0:
print n,'equals',x,'*',n / x
break
else:
#循环没有找到一个因子,但是没有找到一个因子
print n,'是一个素数'

在Java中,我需要编写更多代码来实现相同的行为:

  finishedForLoop = true; 
for(int x:rangeListOfIntegers){
if(n%x == 0)
{
// syso:在这里打印
finishedForLoop = false
break;


if(finishedForLoop == true){
// syso:在这里打印一些
}

有没有更好的类似Python的for Java循环的实现?

解决方案

  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 +等于+ x +*+(n / x));
中断发现;

System.out.println(+ n +是一个素数);





$ hr








  $ javac A.java&& java A 
13是一个素数


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?

解决方案

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

这篇关于有效的实现:“Python for Else Loop”在Java中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆