0

購入と支払いを入力し、おつりを出力するレジ プログラムがあります。金額だけでなく、特定のコイン/ドルのユーザーが返還する必要があります。私が持っている2つの方法があります

  public void recordPurchase()
  {
    System.out.print("Enter total purchase price or negative number to end: "); 
    double input = keyboard.nextDouble();
    while(input > 0)
    {
      purchase = purchase + input;
      System.out.print("Enter total purchase price or negative number to end: "); 
      input = keyboard.nextDouble();
    }
  }

  public double giveChange(Money moneyTypes)
  {
    double change = payment - purchase;
    purchase = 0;
    payment = 0;
    //computes change rounding to two decimal places
    change = (double)(Math.round(change*100))/100;
    return change;
  }

人が返すべきコイン/ドルを出力する必要があります。moneyTypes という配列にお金の種類を保存しています。たとえば、釣り銭が $1.06 の場合、1 ドルのニッケルとペニーを受け取ると出力されます。

どんなアドバイスも役に立ちます。ありがとう!コードをもっと見る必要がある場合は、私に知らせてください

4

1 に答える 1

0

解決策ではなく、どうすればよいかをアドバイスします。

可能な硬貨/紙幣の値のリストを作成します。

次に、最も大きいものから最も小さいものの順に、剰余に何回収まるかを計算し、この金額を値から引きます。コイン/ノートの数をメモします。

このようにして、必要な数を取得します。

count = Math.floor(remainder/coinValue)あなたを助けるかもしれません。

于 2013-11-11T18:29:27.680 に答える