Hallo zusammen,
programmiert werden soll das Wachstum einer Funktion und dieses anschließend mehrfach in einer For-Schleife benutzt werden.
Es gibt 3500 Studenten. 4 Studenten verbreiten ein Gerücht, das mit der Formel neuerwert = alterwert + k * alterwert * (saettigungswert - alterwert) beschrieben wird. Nach der ersten Vorlesung wissen das Gerücht bereits 7 Studenten. Hier Mein Code. Ich habe die Formel bereits berechnet und den Wert 7 erhalten. Soweit so gut. Leider läuft mein Code nicht und ich verstehe nicht, warum. Ich habe eine For-Schleife gemacht, die 6 mal läuft und dabei die Formel berechnet. Anschließend wird der ausgerechnete Wert von Double zu Int getypecasted (es gibt ja keine Kommastudenten, nur ganze Personen). Danach wird der ausgerechnete neue Wert in den alten Wert eingesetzt, damit die Schleife wieder mit der neuen Anzahl an Personen, die das Gerücht verbreitet, weiterläuft. Wo liegt der Fehler? Vielen Dank für mögliche Anmerkungen/Tipps
programmiert werden soll das Wachstum einer Funktion und dieses anschließend mehrfach in einer For-Schleife benutzt werden.
Es gibt 3500 Studenten. 4 Studenten verbreiten ein Gerücht, das mit der Formel neuerwert = alterwert + k * alterwert * (saettigungswert - alterwert) beschrieben wird. Nach der ersten Vorlesung wissen das Gerücht bereits 7 Studenten. Hier Mein Code. Ich habe die Formel bereits berechnet und den Wert 7 erhalten. Soweit so gut. Leider läuft mein Code nicht und ich verstehe nicht, warum. Ich habe eine For-Schleife gemacht, die 6 mal läuft und dabei die Formel berechnet. Anschließend wird der ausgerechnete Wert von Double zu Int getypecasted (es gibt ja keine Kommastudenten, nur ganze Personen). Danach wird der ausgerechnete neue Wert in den alten Wert eingesetzt, damit die Schleife wieder mit der neuen Anzahl an Personen, die das Gerücht verbreitet, weiterläuft. Wo liegt der Fehler? Vielen Dank für mögliche Anmerkungen/Tipps
Java:
public class AusbreitungEinesGerüchtes {
public static int dasGeruecht() {
double k = 0.00025;
int saettigungswert = 3500;
double alterwert = 4;
for(int DS = 1; DS <= 6; DS++) {
double neuerwert = alterwert + k * alterwert * (saettigungswert - alterwert);
int ausgabe = (int) neuerwert;
neuerwert = alterwert;
return ausgabe;
}
}
}