编写一个按顺序计数的程序,不使用任何迭代循环

时间:2014-04-12 15:22:34

标签: java iteration

编写一个程序,在给定开始值和结束值时按顺序计数 - 不使用任何迭代编程循环,即while,for,do,for-each等。

您可以假设起始值和结束值始终为正,并且起始值始终小于结束值。 Ť

这里应该只有一个带有以下签名的方法:

void countUp(int start, int end) {}

以下是start=0end=5的示例输出:

0
1
2
3
4
5

4 个答案:

答案 0 :(得分:4)

尝试使用 java.util.BitSet

public void countUp(int start, int end){
    BitSet bitSet = new BitSet();
    bitSet.set(start, end + 1);
    System.out.println(bitSet);
}

答案 1 :(得分:0)

使用递归,类似于:

void countUp(int start, int end) {
    //Recursive Case 
    if(start <= end) {
        start += 1;
        countUp(start,end);
        //do some operations
    }
    //Base Case 
    else {
        //we have reached the end 
    }
} 

答案 2 :(得分:0)

void countUp(int start, int end)
{
    System.out.println(start);
    if (start < end)
    {
        countUp(start+1, end);
    }
}

这应该有效,

答案 3 :(得分:0)

我假设这是一个练习,让你使用递归而不是弄乱java.util.BitSet,所以你可以使用我在下面的东西:

public class RecursionExample {
    public static void main(String[] args) {
        int start = 0;
        int end = 5;
        countUp(start, end); //calls your class countUp
    }

    public static void countUp(int start, int end) {
        System.out.println(start); //prints out start

        if (start < end){ //will run if start is less than end
            countUp(start+1, end); //calls countUp recurses it with start set to start + 1
        }

    }
}

希望这有帮助!