[英]Recursive countdown
我需要在 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
。
您的方法有兩個參數(最大和最小),但您只用一個參數調用。
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);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.