有人能告诉我这个功能在做什么吗?我只知道它返回x + y的总和,但我想知道为什么。感谢
public static int f(int x, int y){
while( y > 0){
x = x + 1;
y = y - 1;
}
return x;
}
答案 0 :(得分:3)
有两种情况:
第一种情况: y< = 0
因为while循环是假的,它只返回 x ("它跳过部分")
第二种情况: y> 0
因为while循环是真的,所以返回 x + y (x +迭代次数)
迭代次数 y 的值,因为每次迭代,y将减少 1,直到 y = 0 。< / p>
答案 1 :(得分:0)
循环从y的值开始,并在每次迭代时递减,在y变为零时停止。
对于这些迭代中的每一个,将1添加到x。因此,对于y的“单位”,将“单位”添加到x。
编辑如评论中所述,如果y
小于零,函数将不返回两个数字的总和,因为循环将根本不执行。
答案 2 :(得分:-1)
可以将添加视为一系列增量。这就是这个功能的作用。它会增加x
y
次,并返回x + y
的结果。假设y
是自然数。