[英]Printing N times 'a' and N times 'b' using a Recursive function in Java
所以,下面的C遞歸function:
void print(int n){
if(n==1){
printf("ab");
return;
}
putchar('a');
print(n-1);
putchar('b');
}
會給你 output: 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");
}
}
但我得到的 output 是這樣的:
aaab
bb
無論我嘗試什么,我都無法將最后 2 個“b”固定在同一行中。
請幫忙?
改變:
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");
}
}
Output 對於printAB(3)
:
aaabbb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.