在java中,如果值达到MAX_VALUE以确保所有值都低于MAX_VALUE,是否有人知道如何按比例缩小所有数组值?
例如:
MAX_VALUE = 11
originalArray has values:
[0] = 6
[1] = 20
[2] = 4
因为[1]是MAX_VALUE-1的2倍,我们必须按比例将所有数组值除以2.所以,
newArray has values:
[0] = 3
[1] = 10
[2] = 2
谢谢!
答案 0 :(得分:0)
提示:
1)迭代数组并找到最大值
2)将最大值除以MAX_VALUE(您可能需要注意用于捕获/存储此值的数据类型)。以ceiling value为例。 **
3)使用在步骤2中获得的值减去数组中的每个元素
**如果您不想或不能使用数学库,那么您可以非常轻松地定义自己的天花板功能。
答案 1 :(得分:0)
我明白了!我使用values [i]来存储数组的新值而不是this.values [i]。
我改变了:
this.values [0] = (int) (values [0] / newValue);
this.values [1] = (int) (values [1] / newValue);
this.values [2] = (int) (values [2] / newValue);
this.values [3] = (int) (values [3] / newValue);
this.values [4] = (int) (values [4] / newValue);
谢谢大家!