0

私は論理を理解できないようです、これが私のコードです

class stringrays {
public static void main (String[] args) {

    int[] numrays = {23, 6, 47, 35, 2, 14};
    int i;
    int z;
    int y;

    for (i=1; i < numrays.length; i++) {
        z = numrays[0] + numrays[i];
        System.out.println(z);
    }
}

上記の結果は2970582537を示しています

つまり、配列0は配列1を追加し、次に配列0は配列配列2を追加します。

私が欲しいのは、ループ条件を使用して、最初の配列0を次の配列に追加することです。

次に、合計の平均を取得します。

4

7 に答える 7

2

これを試して、

int[] numrays = {23, 6, 47, 35, 2, 14};
int z = 0;

for (int i=0; i < numrays.length; i++) {
    z = z + numrays[i];
    System.out.println(z);
}
    System.out.println("Average : "+(z/numrays.length) );
}
于 2012-09-06T08:05:11.587 に答える
1

23、6、6 + 47などを意味する場合は、次のことを行う必要があります。

for (i=0; i < numrays.length - 1; i++) 
{
   z = numrays[i] + numrays[i + 1];
   System.out.println(z);
}
于 2012-09-06T08:04:05.423 に答える
1

またはLambdaJの方法:

int sum = sum(asList(1, 2, 3, 4, 5));
于 2012-09-06T08:13:22.153 に答える
0

「foreach」ループを使用して、配列の内容を合計し、平均を求めることができます。

int sum = 0;

for(int each : numrays)
{
   sum = sum + each;
}

float average = each / numrays.length;
于 2012-09-06T08:09:43.600 に答える
0

取り外しnumrays[0]て交換してくださいz

     int z =0;
for (i = 0; i < numrays.length; i++) {
        z = z + numrays[i];
        System.out.println("Sum:"+z);

    }
    System.out.println("Average:"+z/numrays.length);
于 2012-09-06T08:04:06.250 に答える
0

ロジックを確認してください。これで、配列の1番目とn番目の数値の合計を出力しています。古いz値は失われます。ループ内の合計には、次のように使用しますz = z + something

于 2012-09-06T08:06:18.713 に答える
0

何が必要かわからない...

次の位置に値を追加するには:

int[] numrays = {23, 6, 47, 35, 2, 14};

for(int i = 0; i < numrays.length - 1; i++) {
    numrays[i] += numrays[i + 1];
}
System.out.println(Arrays.toString(numrays));

平均値を取得するには:

int[] numrays = {23, 6, 47, 35, 2, 14};
double sum = 0;

for(int i = 0; i < numrays.length; i++) {
    sum += numrays[i];
}

double mean = sum / numrays.length;


System.out.println(mean);
于 2012-09-06T08:07:45.787 に答える