2016-11-07 21 views
-3

"5 + 10 + 15 + 20の合計を計算して印刷するアプリケーションを設計して実装します。forループを使用して、合計を追跡する変数を作成します。数値の合計に対してforループを作成するにはどうすればよいですか?

これは私に与えられた課題です。私はかなりプログラミングに新しいですし、いくつかの指導をしたいと思います。私はforループの構造に精通していて、どのように動作するのか、私はこの問題にどのように対処するのか分かりません。

代わりにwhileループを使用しようとしましたが、それでも正しく動作しません。

は、ここで私がこれまで持っているものです。

public static void main (String[] args) { 

    int i = 0; 

    int b = 0; 

    while(i < 20) 
    { 
     b = i + 5; 
     System.out.println(b); 
    } 
} 

すべてのフィードバックをいただければ幸いです!ループは、iの値まで実行さ

+5

'i'は決して増加しないので、コードは決して' while'ループには存在しません。 – Evert

+1

あなたの代わりに 'for'ループを使ってみようとしていますか?これは 'while'ループを持つこのコードよりも、あなたの割り当ての話題になります。 – Evert

答えて

0
public static void main (String[] args){ 

    int i = 0; 
    int b = 0; 

    for(i=0;i<=20;i=i+5)  //equal to while(i <= 20) 
    { 
     b = b+i; 
     System.out.println(b); 
    } 
} 

20ループ変数bに、iの各値を追加し、5

1

によってiの値をインクリメントしますここでは、の場合と同様ですループ:

public static void main (String[] args) { 

    int b = 0; 

    for(int i = 0;i <= 20;i+=5) 
    { 
     b+=i; 
     System.out.println(i); 
    } 
    System.out.println("The total is: " +b); 
} 
} 
0

そして

int arr [] = {5,10,15,20}; 
    int b = 0; 
    for (int i = 0; i < arr.length; i++) { 
     b += arr[i]; 
    } 
    System.out.println("The sum is " + b); 
0

おそらく少し異なる方法あなたのインストラクターが望んでいたものではありませんが、これは算数シリーズであり、以下のコンピューティングパワーを節約することができます。 forループは不要で、右辺の値をプリミティブ変数xに代入するために1回だけ反復することに注意してください。

public static void main(String[] args) { 

    int x = 0; 

    for (int i = 0; i < 1; i++) 
     x = 4/2 * (5 + 20); 

    System.out.println(x); 
} 

また再び、より密接に算術級数を反映してもう一つのアプローチ、:

public static void main(String[] args) { 
    int x = 0; 

    for (int i = 1; i <= 4; i++) 
     x += 5 * i; 


    System.out.println(x); 
} 
0

この1つは本当にすべてのガイダンスに従っていませんが、あなたは無限を作成することによって、あなたの教師を感動しようとすることができますそれらのうちの最初の4つをストリームし、それらを合計する。

int sum = IntStream.iterate(5, i -> i + 5) 
    .limit(4) 
    .sum(); 

このソリューションは、変数の初期化と追加チェックを心配することなく宣言的に記述するため、はるかに簡単です。

関連する問題