【发布时间】:2021-12-26 18:51:10
【问题描述】:
我有一个作业要使用 java 中的函数来获得一组 3 个数字中的最大数字,这就是我想出的:
public static int max(int b, int a ,int d) {
int o =0;
while (b!=0 && a!=0 && d!=0)
{
b++;
a++;
d++;
o--;
}
return o;
}
问题是,如果给它 3 个数字,它会起作用,但我不明白它是如何工作的。
【问题讨论】:
-
所以,你想出了它,但现在你不知道它是如何工作的?
-
是的,在我在 (max) 之前所做的 (min) 函数中,我所做的只是翻转 (b,a,d to -- 和 o to++),当我在最大的工作,但我需要了解它是如何工作的。
-
您依赖整数下溢。对于 (1,2,3),您一直迭代到负 20 亿,然后下溢回到 +20 亿,然后再次迭代回到 3。
-
我想知道
b-a-d作为变量名,而不是a-b-c,是故意的。您是否可能搜索过“效率最低的最大数函数”? :) -
哈哈,这是作业的一部分,a-b-c 被拿走了