通过传递参数的Java函数

时间:2018-08-15 01:05:28

标签: java

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

3 个答案:

答案 0 :(得分:0)

由于您调用bump()而没有存储它,因此您将陷入无限循环

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

for()循环的最后一部分是 step 部分。那是您应该更新循环变量的地方。对于您的情况,您应该像这样更新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 + " ");
}