2017-08-19 14 views
0

私はこのような配列を持っています。結果と配列の結果を格納し、合計を評価する方法

int p[] = new int[n]; 

これは実際にこのようです。

//p[2,3,4,5,6]; 

ここでは、各要素に10を掛けて、その値とその文字の合計を格納します。 my forループ。

int res ; 
for(int i=0; i<n ;i++){ 
    res = p[i]* 10; 
} 

私の質問は、前回のホールド値が失われている2番目の繰り返しの結果です。それを修正する方法。

+3

をresはres = p [i] * 10; '(res = res + p [i] * 10;') – Carcigenicate

+1

'res + = p [i] * 10これは、 ; 'res = p [i] * 10;'の代わりに ';それ以外の場合、resは一度に1つのintを格納することしかできないので、 'res'は現在の繰り返しで値を保持します。 [詳細についてはこの質問をチェックしてください](https://stackoverflow.com/questions/7456462/what-does-the-operator-do-in-java/7456548) – tommyO

+0

その値を元に戻したい場合は、 p [i] = p [i] * 10と同じです。 res + = p [i]; – Girish007

答えて

1

各繰り返しで、res変数が新しい値で上書きされています。結果の配列を作成し、すべての結果の保存、アレイの各ブロックを持っていますが、この方法は、あなたが必要とする場合のみです: 方法1:ほか2つの方法があります

int res=0; //initializing this to 0 is important! 
for(int i=0; i<n ;i++){ 
    res += p[i]* 10; //increment res by the 10 times p[i] 
} 
1

を: これを試してみてください後で単一の値を使用する。 方法2:この場合にはあなたが行くべき道は、forループ内のコード行を記述することです:

res += p[i]* 10; 

と返したり、プリントが(何が必要) `場合

1
int res=0; //initializing res with 0 
for(int j=0;j<n;j++){ 
res=res+p[j]*10; 
} 
関連する問題