gpt4 book ai didi

java - Java打印函数输出说明

转载 作者:行者123 更新时间:2023-12-01 17:20:44 25 4
gpt4 key购买 nike

  static void print(int i){
if( i > 1){
System.out.print("Y");
print(i-1);
}
for(int t = 0; t < i ; t++){
System.out.print(i);
}
}

该代码有以下输出;YY122333 with print(3);

但是,我不明白为什么。为什么这个函数会以打印 1 开始呢?难道不是先通过 if 函数然后打印一个 Y 后跟一个实心 2 吗?

中号

最佳答案

你的algrothym是递归的。如果你遵循陈述中的逻辑,你就会得到

static void print(int i){
if( i > 1){
System.out.print("Y");
print(i-1);
}
for(int t = 0; t < i ; t++){
System.out.print(i);
}
}

Call print(i==3)
i > 1 -> TRUE
Prints Y
Call print (i==2)
i > 1 -> TRUE
Prints Y
Call print (i==1)
i > 1 -> FALSE
t = 0, t < 1 -> true
print 0
t = 1, t < 1 -> false
return
t = 0, t < 2 -> true
print 0
t = 1, t < 2 -> true
print 1
t = 2, t < 2 -> false
return
t = 0, t < 3 ->
and so on.

希望这有帮助

关于java - Java打印函数输出说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18976661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com