编写一个程序,在给定开始值和结束值时按顺序计数 - 不使用任何迭代编程循环,即while,for,do,for-each等。
您可以假设起始值和结束值始终为正,并且起始值始终小于结束值。 Ť
这里应该只有一个带有以下签名的方法:
void countUp(int start, int end) {}
以下是start=0
和end=5
的示例输出:
0
1
2
3
4
5
答案 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
}
}
}
希望这有帮助!