Hi Java-Progger...
ich programmiere seid einigen Wochen nun schon Java und habe jetzt aber seid Tagen nen riesen Problem. ich darf fürs Studium sone blöde Methode erweiter, verstehe aber nicht so ganz wie. Klar, ist bestimmt ganz einfach, aber ich habe nicht so die Ahnung von Rekursion und so, bitte helft mir... Ich erkläre mal die Aufgabe.
Ein Teil der Methode ist vorgegeben, diese Berechnet aus einem BETRAG und einem Array aus den verfügbaren Münsorten (hier EURO) mit wievielen Kombinationene der Münzen sich der Betrag zerstückeln lässt. Also der Code:
So... es wird Momentan also ausgegeben wie oft sich der Betrag aufteilen lässt, inklusive dem Eigenwert (betrag). Außerdem habe ich bereits hinzugefügt, dass er den letzten Münzwert ausgibt (das konnte ich noch... ). Mein Problem ist aber das ich natürlich die komplette Kombination sehen will.
Für eine Betrag von 10 sollte z.B. das hier herauskommen:
1,1,1,1,1,1,1,1,1, 1
2,1,1,1,1,1,1,1, 1
2,2,1,1,1,1,1, 1
2,2,2,1,1,1, 1
2,2,2,2,1, 1
2,2,2,2, 2
5,1,1,1,1, 1
5,2,1,1, 1
5,2,2, 1
5, 5
10
Wenn man in der bisherige Prog also "10" als Betrag einträgt (bzw. es so lässt) erhällt man bloss die letzte Stelle der Kombination (s.o.).
Ich bin echt am verzweifeln und hoffe, dass hier irgendwer das Prob blick und ne Lösung für mich hat. ich weiss nciht wo das weitere System.out hinsoll, hab auch schon viel probiert, ging alles nicht...
Tut mir leid, dass mein erster Post hier ein Request ist, aber ich kannte das coole Forum hier vorher nicht und bin nur jetzt auf meiner schier ewigene Suche nach einem Lösungsansatz auf die Seite hier gestoßen.
Ich bin euch jetzt schon 1000 dankbar, dass ich euch mit dem Problemchen beschäftigt... Laut Prof soll es nur ne kleine erweiterung sein... hmm, nur wo und wie ?!
So, ich hoffe, dass es Replys gibt...
Greets,
offtake
P.S.
Bei denen, die noch in dem BuHa-Board unterwegs sind, endschuldige ich mich, aber das gleich was in diesem und euren Post steht, triff auch für beide Foren zu... bin halt Java-Newbie... Nur das keiner sagt ich spamme in Foren *g*
ich programmiere seid einigen Wochen nun schon Java und habe jetzt aber seid Tagen nen riesen Problem. ich darf fürs Studium sone blöde Methode erweiter, verstehe aber nicht so ganz wie. Klar, ist bestimmt ganz einfach, aber ich habe nicht so die Ahnung von Rekursion und so, bitte helft mir... Ich erkläre mal die Aufgabe.
Ein Teil der Methode ist vorgegeben, diese Berechnet aus einem BETRAG und einem Array aus den verfügbaren Münsorten (hier EURO) mit wievielen Kombinationene der Münzen sich der Betrag zerstückeln lässt. Also der Code:
Code:
class Wechsel{
static int[] w = {1,2,5,10,120,50,100,200};
static int wechsel(int b, int k) {
if (b < 0) return 0; //Restbetrag negativ
if (b == 0){
System.out.println("Letzte Muenze Der jeweiligen Kombination: " + w[k-1]);
return 1; //Restbetrag ist null
}
if (k == 0) return 0; //Keine Münzen mehr
return wechsel(b, k-1) + wechsel(b-w[k-1], k);
}
public static void main(String[] args){
int betrag = 10;
System.out.println("Der Betrag " + betrag + " laesst sich in " +
wechsel(betrag,w.length-1) + " Kombinationen darstellen.");
}
}
So... es wird Momentan also ausgegeben wie oft sich der Betrag aufteilen lässt, inklusive dem Eigenwert (betrag). Außerdem habe ich bereits hinzugefügt, dass er den letzten Münzwert ausgibt (das konnte ich noch... ). Mein Problem ist aber das ich natürlich die komplette Kombination sehen will.
Für eine Betrag von 10 sollte z.B. das hier herauskommen:
1,1,1,1,1,1,1,1,1, 1
2,1,1,1,1,1,1,1, 1
2,2,1,1,1,1,1, 1
2,2,2,1,1,1, 1
2,2,2,2,1, 1
2,2,2,2, 2
5,1,1,1,1, 1
5,2,1,1, 1
5,2,2, 1
5, 5
10
Wenn man in der bisherige Prog also "10" als Betrag einträgt (bzw. es so lässt) erhällt man bloss die letzte Stelle der Kombination (s.o.).
Ich bin echt am verzweifeln und hoffe, dass hier irgendwer das Prob blick und ne Lösung für mich hat. ich weiss nciht wo das weitere System.out hinsoll, hab auch schon viel probiert, ging alles nicht...
Tut mir leid, dass mein erster Post hier ein Request ist, aber ich kannte das coole Forum hier vorher nicht und bin nur jetzt auf meiner schier ewigene Suche nach einem Lösungsansatz auf die Seite hier gestoßen.
Ich bin euch jetzt schon 1000 dankbar, dass ich euch mit dem Problemchen beschäftigt... Laut Prof soll es nur ne kleine erweiterung sein... hmm, nur wo und wie ?!
So, ich hoffe, dass es Replys gibt...
Greets,
offtake
P.S.
Bei denen, die noch in dem BuHa-Board unterwegs sind, endschuldige ich mich, aber das gleich was in diesem und euren Post steht, triff auch für beide Foren zu... bin halt Java-Newbie... Nur das keiner sagt ich spamme in Foren *g*