繁体   English   中英

通过传递参数的Java函数

[英]Java functions by passing parameters

static int bump(int i) { 
    return i+2; 
}

public static void main(String[] args) {
    for(int x = 0 ; x < 5 ; bump(x))  
        System.out.print(x+" ");
    }
}

我得到0的无限循环

需要输出:0 2 4 6

您将获得无限循环,因为您调用了bump()而没有存储它

要解决此问题,您需要将x值替换为bump()的返回值。

for(int x = 0 ; x < 5 ; x = bump(x))  
    System.out.print(x+" ");
}

如果要获得0 2 4 6作为输出,则应该这样做。

for (int x = 0; x <= 6; x=bump(x))
            System.out.print(x + " ");

for()循环的最后一部分是步骤部分。 那是您应该更新循环变量的地方。 在您的情况下,您应该像这样更新x变量:

static int bump(int i) { 
    return i+2; 
}

public static void main(String[] args) {
    for (int x = 0; x < 5; x = bump(x))  
        System.out.print(x + " ");
    }
}

我不确定使用函数更新循环变量的想法在哪里,但这不是很常见。 您可能会考虑摆脱bump()函数,并使步骤部分可读且清晰,如下所示:

for (int x = 0; x < 5; x += 2)  
    System.out.print(x + " ");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM