1

配列の最大数と最小数の差を取得する簡単なプログラムを作成しようとしていますが、私が行っているループは目的を果たさないようです。例: int [] numbers = {2,5,7,32}... 2 が最小で 32 が最大で、その差が「30」であるため、出力は「30」である必要があります。これが私のコードです。

public static void main(String[] args) {

   int[] value   = {5,16,3,32};

    int diff = 0;
    int highest = 0;

   for (int i = 0; i<value.length; i++)
   {
       for(int y = 0;y<value.length;y++)
       {            
           diff = value[i] - value[y];

           if(diff > highest){
               highest = diff;

               System.out.println("the difference of the lowest and the highest is "+ diff);
           }    
       }  
   } 

} }

助けてください、私はまだトリックなどを学んでいます。ありがとうございました :)

4

8 に答える 8

0

配列がまだソートされていない場合は、次のようにする必要があります。

  1. 配列から最小数と最大数を見つけます。
  2. 最大から最小を引きます。

配列がソートされている場合:

  1. array.length-1 から 0 インデックスを引きます
于 2013-06-03T15:59:17.060 に答える