-5
public class problem1 {
    public static void main(String args [])
    {
    int [] a = new int [1000];

    for (int counter = 0; counter<=a.length;counter++);
    { 
        if ((counter % 3 == 0) || (counter % 5 == 0))
        {
            int temp += counter;
        }
    }

}
}

1 ~ 1000 の数字の配列を調べ、3 と 5 の倍数であるすべての数字を合計する必要がある方程式を解こうとしていますが、私のコードは実行されません。誰でも私のエラーを見ることができますか?

4

4 に答える 4

4

コードには 2 つの大きな問題があります。

  • for ループの最後にセミコロンがあります。

    for (int counter = 0; counter<=a.length;counter++); // Remove the ;
    
  • for ループで毎回変数を再宣言しています。

    int temp += counter;  // replace it with `temp += counter`.
    

そして、変数tempを の外側で宣言し、そのfor loopデフォルト値を使用します0

そして、小さな問題は次のとおりです。

  • その配列は必要ありません a。代わりに、必要な値 (この場合は) を使用してint変数を宣言します。ではなく、ループ状態で使用します。total1000a.length
于 2013-02-13T20:31:54.767 に答える
1
  • カウンターの配列を作成しないでください。必須ではありません。配列は通常、名前、都市、年齢などの再利用可能な値を基本的に格納します。

  • また、for ループはセミコロンで終わりません。

  • 最も重要: ループ内で変数を宣言しないでください。それを行うと、X回の変数を何度も作成します

public class problem1 {


public static void main(String[] args) {

    int temp = 0;

    for (int i = 0; i <= 1000; i++)

    {
        if ((i % 3 == 0) || (i % 5 == 0)) {
            temp += i;

        }
    }
    System.out.println("Result is :" + temp);
}

}
于 2013-02-13T20:38:37.637 に答える
0

forの最後にセミコロンがあるため、コードは実行されません。コンパイルエラーは発生しませんが、ステートメントが空であることを意味するため、for本体は実行されず、セミコロンを削除するだけです。

于 2013-02-13T20:35:02.973 に答える
0

int temp最初に for ループの外で初期化する必要があると思います。次のようにする必要があります:int temp = 0;そして、temp += counter;動作するはずです。

于 2013-02-13T20:35:16.163 に答える