我试图运行这个程序时遇到了麻烦。
本实验室将研究此类机器背后的问题解决和编程。
您总是希望使用尽可能少的硬币。你应该使用整数数学来解决这个问题。
通过构造函数提供分数。编写一种计算每种硬币数量的方法。
TL;博士 我需要计算一定数量的硬币。
到目前为止,我有这个:
public class P4_Icel_Murad_Coins_java{
private int c;
public P4_Icel_Murad_Coins_java(int coins){
c = 94;
int Q_i, D_i, N_i, N_f;
}
public void counter(){
int Q_i = (int)(c % 25);
int Q_f = c - (Q_i * 25);
int D_i = (int)(Q_f % 10);
int D_f = c - (D_i * 10);
int N_i = (int)(D_f % 5);
int N_f = (int)(c - (N_i * 5));
System.out.println("Quarter(s): " + Q_i );
System.out.println("Dime(s): " + D_i);
System.out.println("Nickel(s): " + N_i);
System.out.println("Penny(ies): " + N_f);
}
}
我的Driver类是
public class Driver_class
{
public static void main(String[] args) {
P4_Icel_Murad_Coins_java start = new P4_Icel_Murad_Coins_java(94);
start.counter();
}
}
我得到了非常奇怪的数字,包括答案中的否定,以及由于某种原因的很多便士。 任何帮助将不胜感激,并提前感谢。
答案 0 :(得分:1)
你必须使用除“/”而不是模“%”。 E.g。
int Q_i = (int)(c / 25);
你应该纠正你的构造函数,它没有使用来自调用者的硬币:
public P4_Icel_Murad_Coins_java(int cents){
c = cents; // here use the caller cents
}