-2

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

ありがとうございました!

4

2 に答える 2

0

私はそれを考え出した!this.values[i] の代わりに、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);

皆さん、ありがとうございました!

于 2013-11-13T05:40:02.017 に答える
0

ヒント:

1) 配列を反復処理して最大値を見つけます
2) 最大値を MAX_VALUE で除算します (この値をキャッチ/保存するために使用するデータ型に注意する必要がある場合があります)。これの上限値をとります。**
3) 配列の各要素をステップ 2 で取得した値で減算します

** Math ライブラリを使用したくない、または使用できない場合は、独自の天井関数を非常に簡単に定義できます。

于 2013-11-13T03:34:50.840 に答える