我需要在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);
}
}
我需要在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);
}
}
有一种说法在递归调用丢失:
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
。
你的方法有两个参数(max和min),但你只用一个参数调用。
static void stej(int max, int min) {
if(max==min)
System.out.print(min);
else {
System.out.print(max + " ");
stej(max-1, min);
}
}
你有几个问题:
下面的解决方案应该解决两个问题:
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);
}
}
}
那么,是什么问题? –
你应该'stej(max-1,min);'使你的代码编译。 – Maroun
线程“main”中的异常java.lang.Error:未解决的编译问题: \t ***类型中的stej(int,int)不适用于参数(int) –