-2

pWを出力すると、元の値が得られます

    double plateWt = wWeight - bWval;

    while (plateWt > 200 && plate100val > 0) {
        plateWt = plateWt - 200;
        plate100 ++;
        plate100val --;
    }
    while (plateWt > 90 && plate45val > 0) {
        plateWt = plateWt - 90;
        plate45 ++;
        plate45val --;
    }
    while (plateWt > 70 && plate35val > 0) {
        plateWt = plateWt - 70;
        plate35 ++;
        plate35val --;
    }
    while (plateWt > 50 && plate25val > 0) {
        plateWt = plateWt - 50;
        plate25 ++;
        plate25val --;
    }
    while (plateWt > 20 && plate10val > 0) {
        plateWt = plateWt - 20;
        plate10 ++;
        plate10val --;
    }
    while (plateWt > 10 && plate5val > 0) {
        plateWt = plateWt - 10;
        plate5 ++;
        plate5val --;
    }
    while (plateWt > 5 && plateQval > 0) {
        plateWt = plateWt - 5;
        plateQ ++;
        plateQval --;
    }
    Log.i("LOG_TAG", "PlateWeight value: " + plateWt);
    double pw = plateWt;
    warmupPlatesOneTextView.setText(String.valueOf(pw));

11-25 15:16:16.867:I / LOG_TAG(21569):PlateWeight値:5.0 11-25 15:16:16.883:I / LOG_TAG(21569):PlateWeight値:10.0 11-25 15:16:17.121:I / LOG_TAG(21569):PlateWeight値:45.0 11-25 15:16:17.145:I / LOG_TAG(21569):PlateWeight値:45.0

4

2 に答える 2

0

推測では、最初は正しく実行されると思います(結果は5になります)。その後、グローバル変数を想定すると、whileループは実行されません。コードにブレークポイントを貼り付け、それをステップスルーして確認します

于 2012-11-25T14:22:13.680 に答える
-1

ログステートメントを配置し、whileループが入力および実行されていることと、plate10の値を確認してください。

于 2012-11-25T14:19:33.363 に答える