因此,C 中的以下遞回函式:
void print(int n){
if(n==1){
printf("ab");
return;
}
putchar('a');
print(n-1);
putchar('b');
}
會給你輸出:aaabbb如果n = 3。但是,我試圖將其“翻譯”成 Java 并提出了一個問題。我的 Java 代碼如下所示:(非常相似)
public static void printAB(int n){
if (n==1) {
System.out.println("ab");
}else {
System.out.print("a");
printAB(n-1);
System.out.print("b");
}
}
但我得到的輸出是這樣的:
aaab
bb
無論我嘗試什么,我都無法將最后 2 個“b”固定在同一行。
請幫忙?
uj5u.com熱心網友回復:
改變:
System.out.println("ab");
到:
System.out.print("ab");
所以沒有列印換行符。
完整代碼:
public static void printAB(int n) {
if (n == 1) {
System.out.print("ab");
} else {
System.out.print("a");
printAB(n - 1);
System.out.print("b");
}
}
輸出printAB(3):
aaabbb
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/475132.html
