我需要在Java中创建一个递归倒计时方法,用户输入max
和min
进行倒计时。打印件应在main
。
这是我的代码:
static void stej(int max, int min) {
if(max==min)
System.out.print(min);
else {
System.out.print(max + " ");
stej(max-1);
}
}
答案 0 :(得分:1)
递归调用中缺少一个参数:
static void stej(int max, int min) {
if(max==min)
System.out.print(min);
else {
System.out.print(max + " ");
stej(max-1, min);
}
}
至于main
中的打印,除非您将所有代码移至main
,否则无法执行此操作。
答案 1 :(得分:0)
你的方法有两个参数(最大值和最小值)但你只用一个参数调用。
static void stej(int max, int min) {
if(max==min)
System.out.print(min);
else {
System.out.print(max + " ");
stej(max-1, min);
}
}
答案 2 :(得分:0)
你有几个问题:
下面的解决方案应该处理这两个问题:
static void stej(int max, int min) {
if (max < min) { // If the arguments are reversed
setj(min, max); // Recursively swap them to continue
} else {
System.out.print(max + " "); // Only need to print once
if (max > min) { // Only apply recursion if they are different
stej(max-1, min);
}
}
}