ではなく、ちょうど76セントで私に4枚のコインを与えるのは、そのような四半期= 3、小銭= 1として、個々のコインを印刷する方法を考え出す助けが必要です。私は4カウンターを設定しようとしましたが、それはちょうど繰り返し硬貨の名前を印刷し、答えは間違っていました。再帰コインの変更
import java.util.Scanner;
public class Money
{
public static void main(String args[])
{
int[] coins = { 1, 5, 10, 25};
Scanner scan = new Scanner(System.in);
System.out.print("Enter Change (In Cents): ");
int sum = scan.nextInt();
int counter1 = 0;
int counter2 = 0;
int counter3 = 0;
int counter4 = 0;
String quarter = "";
Money minCoin = new Money();
System.out.println(minCoin.findMinCoins(coins, sum, counter1, counter2, counter3, counter4));
System.out.println(counter4);
}
private int findMinCoins(int[] coins, int sum, int counter1, int counter2, int counter3, int counter4)
{
if (sum <= 0 || coins.length == 0)
{
return 0;
}
for (int i = coins.length - 1; i >= 0; i--)
{
if(coins[i] == 1 && coins[i] != 5)
{
counter1++;
}
if(coins[i] == 5)
{
counter2++;
}
if(coins[i] == 10)
{
counter3++;
}
if(coins[i] == 25)
{
counter4++;
}
if (coins[i] <= sum)
{
System.out.println("Pennies: " + counter1);
System.out.println("Nickels: " + counter2);
System.out.println("Dimes: " + counter3);
System.out.println("Quarters: " + counter4);
return 1 + findMinCoins(coins, sum - coins[i], counter1, counter2, counter3, counter4);
}
}
return 0;
}
}
、あなたは1 + findMinCoinsを持っている...それは本当に1が表すコインの種類に関する情報を提供していません。代わりに、例えばreturn文、内の変数に1を追加してみてください:findMinCoins(コイン、合計 - コイン[i]は、カウンタ1 + 1、...)あなたが別のペニー –