1

数字の合計が 11 であるすべての整数 1><1000 のリストを生成する単純でまったく役に立たないプログラムを作成しようとしています。これを実行するたびに、無限ループに陥ります。私はさまざまなことを試しました- for(){}、、ループカウンターが500に達した後に停止するためにwhile(){}aを追加しif(count>500){break;}ました....まだ何もありません...これでどこが間違っていますか?

前もって感謝します

    //loops through all numbers whose sum of digits is 11
    for(int number = 29; number < 1000; number++) {
        //checks the values of the 100,10,and 1 position
        int hPlace = number / 100; number = number - (hPlace * 100);
        int tPlace = number / 10;  number = number - (tPlace * 10);
        int oPlace = number;
        //sum of digits
        int i = hPlace + tPlace + oPlace;


        //prints if sum of digits is 11
        int count = 0;
        if (i == 11) {
            count++;
            System.out.print(i + " ");
        }

        //new line after every 10 numbers -- just for formatting
        if (count % 10 == 0) {
            System.out.println("");
        }
      }
4

7 に答える 7

4

のコントローラーと同じ変数を使用していますforfor構造内のコントローラー変数を からnumberに変更してみてくださいnumber1

ここで変数を変更しています:

                           ---------------------------------
int hPlace = number / 100; number = number - (hPlace * 100);
                           ---------------------------------
于 2013-05-08T22:40:43.987 に答える