0

16 個の変数を定義し、それらにさまざまな種類の値を割り当てました。

int block0 = 5;
int block1 = 6;
int block2 = 8;
int block3 = 25;
int block4 = 8;
int block5 = 23;
int block6 = 2;
int block7 = 1;
int block8 = 6;
int block9 = 4;
int block10 = 5;
int block11 = 7;
int block12 = 15;
int block13 = 4;
int block14 = 5;
int block15 = 8;

whileまたはforループを使用して最大の変数を見つけるにはどうすればよいですか?

4

4 に答える 4

3

まず、それらを配列にする必要があります

int[] intArr = new int[16];

int[0] = 5;
int[1] = 6;
...

そして、あなたは繰り返すことができます

int max = 0;
int maxIndex = 0;

for(int i=0; i<intArr.length; i++)
{
    if(max < intArr[i])
        maxIndex = i;
}
于 2013-05-17T00:09:54.900 に答える
3

を使用する必要がありますが、配列を使用できない場合は、次の美しいコードMath.max()のように使用できます。

int max = Math.max(block0, Math.max(block1, Math.max(block2, Math.max(block3, Math.max(block4, Math.max(block5, Math.max(block6, Math.max(block7, Math.max(block8, Math.max(block9, Math.max(block10, Math.max(block11, Math.max(block12, Math.max(block13, Math.max(block14, block15)))))))))))))));

それらがクラス内のフィールドでない限り、それらの変数 (ローカル変数) を (または、あなたが言うように)反復処理することはできません。巨大なステートメント以外の唯一のオプションです。比べてみると、しかし、きれいに見えます。forwhileMath.max()ifMath.max()

于 2013-05-17T00:12:56.037 に答える
0

それはかなり簡単です..

単純な並べ替えを行うだけです..

function findlarge()
{
   var largest = 0;
   for (i = 0; i < 15; ++i)
   {
     largest = ((block+i) > block+(i+1)) ? block+i : block+i+1; 
   }
   return largest;
}

私が使用した間違った変数名に対処する必要があることに注意してください..しかし、これは私が最大のものを整理する方法です..

幸運を :)

于 2013-05-17T00:09:48.970 に答える