在一定数量的迭代后停止循环,而不是在满足最大值时停止循环

时间:2019-05-06 14:13:32

标签: java loops

JAVA:

我想要一个for循环,当我是某个数字时,它不会停止,而是在x次迭代之后停止。有什么办法吗?

public static int seven_sum(int num) {
    int sum = 0;
    for (int i = 7; i <= WHAT GOES HERE; i = i * 10 + i) { 
        sum = sum + i;
    }
    return sum;
  }

3 个答案:

答案 0 :(得分:0)

让我们假设您的循环中有一个特定的值,如果该值超过某个边界,您想停止循环。您只需添加一个if语句来检查值:

public static void main(String args[]) {
    // some value to hold a sum
    int valueSum = 0;

    for (int i = 0; i < 1000; i++) {
        // in every iteration step, add the current value of i to valueSum
        valueSum += i;

        // print the current values of i and valueSum
        System.out.println("Iteration no " + i + ", value sum = " + valueSum);

        // stop looping if valueSum becomes 500 or greater
        if (valueSum >= 500) {
            break;
        }
    }
}

请检查控制台输出以更好地了解for循环和一般的迭代。

答案 1 :(得分:0)

我能想到的唯一情况是:如果x(迭代次数)大于i(您的索引可能取决于数组长度等某些输入值)。您可以将无限循环与break语句组合在一起的情况:

    int iterations = 0;
    for(int i = 0; true ; i++){
        System.out.println("iterations count = " + ++iterations);
        if(iterations == 10) break;
    }

甚至没有声明索引:

    int iterations = 0;
    for( ; ; ){
        System.out.println("iterations count = " + ++iterations);
        if(iterations == 10) break;
    }

或者如果您需要两个或多个自变量

    int x = 10; //number of iterations wanted
    for(int i = 7, j = 0; j<= x; i = i * 10 + i , j++){
        // do something
    }

答案 2 :(得分:0)

您可以在for循环中声明多个相同类型的变量:

public static int seven_sum(int num) {
    int sum = 0;
    for (int i = 7, iterations = 0; iterations < (number of iterations); i = i * 10 + i, iterations++) { 
        sum = sum + i;
    }
    return sum;
  }