2016-09-25 13 views
0
import static java.lang.Math.pow; 

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

//Q2: Write a for statement to compute the sum 1 + 2^2 + 32 + 42 + 52 + ... + n2. 

int n = 7; 
int sum = 0; 

for (int i = 0; i < n; i++){ 
    sum = sum + (int)Math.pow(n,2); 
} 

System.out.println(sum); 
} 
} 

質問はforループをn^2の合計にすることです。Java for-loopへの電源

私の場合、私は自分のコードを実行したときに、私は343なぜを取得し、しかし、91に等しい?

+2

Math.pow(i、2)... – chenchuk

+0

合計3つの変数があります。コードをステップバイステップで実行し、各ステップでの各変数の値と各関数の引数の値を確認します。 – njzk2

+0

NBあなたが 'Math.pow(i、2)'の代わりに 'i * i'を使うのであればintにキャストする必要はありません。 –

答えて

10

for -loop内で間違った変数を使用しています。 iの代わりにnを使用します。正しいコードは次のとおりです。

for (int i = 1; i <= n; i++){ 
    sum = sum + (int)Math.pow(i,2); 
} 

ループは質問文に従って1からn(両端を含む)で実行する必要があるため、編集されています。

+0

私はとても馬鹿だと感じます。ありがとう! – Kasper

+0

@ Kasperあなたはまた、1から反復を開始する必要があります。私の答えをチェックして、乾杯! –

+0

@WojciechKazior Mathematical 1から始める魅力的な理由はありません。同じ合計につながります。だからなぜ彼は1から始めるべきなのだろうか? – Seelenvirtuose

0

あなたは、静的インポートを使用してあなただけのPOWを使用し、、Math.powための必要性を全く使用しない代わりにn私

 sum = sum + (int)Math.pow(i,2); 

そして、もう一つのされているそれ以外の場合は輸入

0

1あなたを削除電力はi - nではありません。さらに、iは1から始まり、nで終了する必要があります。だから、ループは次のようになります。

for (int i = 1; i <= n; i++) 
    sum = sum + (int)Math.pow(i,2); 
0

合計=合計+(INT)Math.pow(I、2);