0

double 配列の最小値と他の 2 つの最小値を取得したいと考えています。合計で、配列の 3 つの小さい値を取得したいと考えています。クラス配列は使用していませんが、double[].

4

4 に答える 4

6

最も簡単な方法は、電話することです

Arrays.sort()

最初の 3 つの値を取得します。

それ以外の場合は、配列を単純にループして、最小のものと同じように、最小の 3 つを追跡することができます。

于 2011-03-14T23:01:10.007 に答える
1
double[] dlist = {17.0, 10.0, 44, 7, 4.0, 33, 24, 10, 48.0, 49.0};
Arrays.sort (dlist);
System.out.println (dlist [0] + " " + dlist [1] /*...*/);
于 2011-03-14T23:08:10.297 に答える
0

Arrays クラスをまったく使用できない場合は、取得しようとしている各値を保持するために、おそらく 3 つの変数が必要になるでしょう。配列内の最初の 3 つの要素と等しくなるように設定することから始めます (少なくとも 3 つある場合は、それらのいくつかを設定するだけです)。

次に、for ループを使用して、配列内の残りの要素を処理します。要素が、既に見つけた 1 つまたは複数の数字よりも小さい場合は、それらの数字の最大のものを取り除き、代わりにこれを最小の数字のリストに追加します。

1. declare 3 variables
2. set variables equal to first 3 elements in array
3. loop from index 3 (4th element) to the length of the array
   a. see which of the already found numbers is bigger than the current element (if any)
   b.replace the biggest of the found numbers with the new number if at least one was found
4. print out or return the numbers you found
于 2011-03-15T01:59:43.077 に答える
0

上記と同様に、ループして最小のものを保存し、配列から削除することができます。その後、何度も何度もやり直してください。しかし、私は上記の方法がより効率的だと思います。

于 2011-03-14T23:03:43.867 に答える