1

そうです、私は学校向けのプログラムに取り組んでいます。プログラムの目的はコインの最小数を見つけることです。私は初心者のプログラマーであり、これが初めてなので、他の何千ものことや他の人がしていないことを知りません. 私はコードを書いて動作しますが、バグ/グリッチ、またはあなたがそれを呼びたいと思っているようです。

私のコード

import java.util.Scanner;

public class Coin {

public static void main (String[] Args) {

    int quarters = 25;
    int dimes = 10;
    int nickles = 5;
    int pennies = 1;


    System.out.println("Enter in a number between 1-99");

    // "Input" Part of Code (Remember this and go back for reference)
    Scanner Userinput = new Scanner(System.in);

   int stuff = Userinput.nextInt();
   int q = stuff/quarters;
   String A = "Number of Quarters:" +q;


   System.out.println(A);

   int hold = stuff%quarters;
   int d = hold/dimes;
   String B = "Number of Dimes:" +d;

   System.out.println(B);

   int hold1 = stuff%dimes;
   int n = hold1/nickles;
   String C = "Number of Nickles:" +n;

   System.out.println(C);

   int hold2 = stuff%nickles;
   int p = hold2/pennies;
   String D = "Number of Pennies:" +p;

   System.out.println(D);

   System.out.println("Thank you for Using My Program");

      }
}

これで、すべてが正常に機能し、好きな数字を入力して目的の結果を得ることができますが、奇妙な理由で、75 から 79 の間の任意の数字を入力したことがわかりません。奇妙な理由でニッケルが追加され、何が間違っているかを正確に把握しようとするが、できない2時間の大部分。数十の toher 番号を試してみましたが、その 1 つの小さな領域を除いて正常に動作します。

誰かが間違っている可能性があることを偶然に教えてもらえますか?

4

2 に答える 2

1

以前のより大きなコインを追加するときに、すでに説明されているものを差し引く必要があります。

たとえば、私が 77 と言った場合、プログラムは 77%10 をチェックして 7 を返します。以前に追加したコインによって「スタッフ」の値を調整する必要があります。したがって、この場合、4 分の 3 (75) を追加した後、stuff = stuff - 75 (stuff -= 75) を設定します。

編集:より正確に言うと、実行できるすべての計算の後に

stuff -= q * quarters;

もちろん、変数をコードの各部分に適したものに変更します。

于 2013-11-06T05:30:54.723 に答える
1

行は、全額 ( ) ではなくhold = ...、以前の値に基づいている必要があります。holdstuff

int hold2 = hold%nickles;
于 2013-11-06T05:26:35.693 に答える