ich habe ein Problem bei den gebautenAutos. Bei der Ausgabe kommt für jedes Jahr
10000 raus. Es muss ja aber immer mehr werden. Wo liegt der Fehler ?
mein absatz ist übrigens 10000
und die Steigerung = 5
[CODE lang="java" title="Investiton"]
public void bilanzier(){
gebauteAutos= absatz;
while ( investGeld>reingewinn){
for (int i = 0; i <absatz; i++){
gebauteAutos += steigerung/100;
}
jahr++;
System.out.println("Anzahl der gebauten Autos : " +gebauteAutos);
}
}[/CODE]
Ich nehme an, dass gebauteAutos und steigerung beide vom Typ int sind.
Dann ist steigerung / 100 eine int Berechnung. und 5 / 100 ist 0,05 was bei int schlicht 0 ist.
Selbst wenn steigerung eine float oder double wäre und nur gebauteAutos ein int: da wprde dann halt 0 addiert.
Ich nehme an, dass gebauteAutos und steigerung beide vom Typ int sind.
Dann ist steigerung / 100 eine int Berechnung. und 5 / 100 ist 0,05 was bei int schlicht 0 ist.
Selbst wenn steigerung eine float oder double wäre und nur gebauteAutos ein int: da wprde dann halt 0 addiert.
Hier ist der gesamte Code für die Methode und die Aufgabe zu entnehmen
Java:
publicclassInvestition{privatedouble kosten =23500;privatedouble invest =100000000;privateint absatz =10000;privatedouble steigerung =5;privatedouble preis =24950;privateint jahr;privatedouble umsatz;privatedouble herstellungskosten;privateint gebauteAutos;privatedouble reingewinn;// Aufgabe : Schreiben Sie ein Methode void bilanzier(), die für jedes Jahr ausgeben soll wie//viele Autos voraussichtlich gebaut werden, wie hoch die Herstellungskosten für alle sind,//mit welchem Umsatz gerechnet wird und wie hoch der Reingewinn (Umsatz minus//Herstellungskosten) in diesem Jahr und über alle Produktionsjahre ist. Die Methode soll//stoppen, sobald die Gewinnzone erreicht worden ist.publicvoidbilanzier(){
gebauteAutos = absatz;double investGeld=getInvest();double reingwinngewinn =0;double herstellungskosten=0;double umsatz=0;int jahr =0;while( investGeld>reingewinn){for(int i =0; i <absatz; i++){
gebauteAutos += steigerung/100;
herstellungskosten +=getKosten();
umsatz +=getPreis();
reingewinn +=getPreis()-getKosten();}
jahr++;//Jahre hochzählen//Gebe die Werte ausSystem.out.println ("Für Jahr : "+jahr);System.out.println("Anzahl der gebauten Autos : "+gebauteAutos);System.out.println ("Umsatz in Euro : "+umsatz);System.out.println ("Herstellungskosten in Euro:"+herstellungskosten);System.out.println ("Reingewinn in Euro : "+reingewinn);System.out.println ("--------------------------------------");}